亚洲一区二区三区在线播放,伊人久久精品无码av一区,亚洲国产精品一区二区第一页免,无码aⅴ精品一区二区三区浪潮

表單驗證(Validation)

通過瀏覽器默認行為或自定義樣式和JavaScript,通過HTML5表單驗證向用戶提供有價值的、可操作的反饋。

雖然我們知道目前客戶端的自定義驗證樣式和工具提示是無障礙的,自從它們不暴露于輔助技術。在處理解決方案時,我們仍建議使用服務器端選項或默認瀏覽器驗證方法。

工作原理

下面是Bootstrap表單驗證的工作原理:

  • HTML表單驗證是通過CSS的兩個偽類:invalid和:valid應用的。它適用于input、select和textarea元素。
  • Bootstrap 作用域:invalid和:valid樣式到父.was-validated類,通常應用于form。否則,任何不帶值的必填字段在頁面加載時顯示為無效。這樣,您可以選擇何時激活它們(通常在嘗試提交表單之后)。
  • 要重置表單的外觀(例如,在使用AJAX提交動態表單的情況下),請在提交后再次從form中移除.was-validated類。
  • As a fallback, .is-invalid and .is-valid 作為回退,.is-invalid and .is-valid類可以代替偽類用于服務器端驗證。它們不需要.was-validated的父類。
  • 由于CSS工作方式的限制,如果沒有自定義JavaScript的幫助,我們(目前)無法將樣式應用到DOM中表單控件之前的label。
  • 所有現代瀏覽器都支持 約束驗證API,這是一系列用于驗證表單控件的JavaScript方法。
  • 反饋消息可以利用 瀏覽器默認值(每個瀏覽器的默認值不同,通過CSS不可改變)或我們的自定義反饋樣式以及額外的HTML和CSS。
  • 您可以在JavaScript中使用setCustomValidity提供自定義有效性消息。

考慮到這一點,請考慮以下演示,以了解我們的自定義表單驗證樣式、可選服務器端類和瀏覽器默認值。

自定義樣式

對于自定義Bootstrap表單驗證消息,需要將novalidate布爾屬性添加到form。這將禁用瀏覽器默認的反饋工具提示,但仍提供對JavaScript中表單驗證api的訪問。嘗試提交以下表格;我們的JavaScript將截獲提交按鈕并向您傳遞反饋。嘗試提交時,您將看到:invalid和:valid樣式應用于表單控件。

自定義反饋樣式應用自定義顏色、邊框、焦點樣式和背景圖標來更好地傳達反饋。select的背景圖標僅適用于.form-select,而不適用于.form-control。

Looks good!
Looks good!
@
Please choose a username.
Please provide a valid city.
Please select a valid state.
Please provide a valid zip.
You must agree before submitting.
<form class="row g-3 needs-validation" novalidate>
<div class="col-md-4">
<label for="validationCustom01" class="form-label">First name</label>
<input type="text" class="form-control" id="validationCustom01" value="Mark" required>
<div class="valid-feedback">
Looks good!
</div>
</div>
<div class="col-md-4">
<label for="validationCustom02" class="form-label">Last name</label>
<input type="text" class="form-control" id="validationCustom02" value="Otto" required>
<div class="valid-feedback">
Looks good!
</div>
</div>
<div class="col-md-4">
<label for="validationCustomUsername" class="form-label">Username</label>
<div class="input-group has-validation">
<span class="input-group-text" id="inputGroupPrepend">@</span>
<input type="text" class="form-control" id="validationCustomUsername" aria-describedby="inputGroupPrepend" required>
<div class="invalid-feedback">
  Please choose a username.
</div>
</div>
</div>
<div class="col-md-6">
<label for="validationCustom03" class="form-label">City</label>
<input type="text" class="form-control" id="validationCustom03" required>
<div class="invalid-feedback">
Please provide a valid city.
</div>
</div>
<div class="col-md-3">
<label for="validationCustom04" class="form-label">State</label>
<select class="form-select" id="validationCustom04" required>
<option selected disabled value="">Choose...</option>
<option>...</option>
</select>
<div class="invalid-feedback">
Please select a valid state.
</div>
</div>
<div class="col-md-3">
<label for="validationCustom05" class="form-label">Zip</label>
<input type="text" class="form-control" id="validationCustom05" required>
<div class="invalid-feedback">
Please provide a valid zip.
</div>
</div>
<div class="col-12">
<div class="form-check">
<input class="form-check-input" type="checkbox" value="" id="invalidCheck" required>
<label class="form-check-label" for="invalidCheck">
  Agree to terms and conditions
</label>
<div class="invalid-feedback">
  You must agree before submitting.
</div>
</div>
</div>
<div class="col-12">
<button class="btn btn-primary" type="submit">Submit form</button>
</div>
</form>
// Example starter JavaScript for disabling form submissions if there are invalid fields
(function () {
'use strict'

// Fetch all the forms we want to apply custom Bootstrap validation styles to
  var forms = document.querySelectorAll('.needs-validation')

// Loop over them and prevent submission
  Array.prototype.slice.call(forms)
.forEach(function (form) {
form.addEventListener('submit', function (event) {
  if (!form.checkValidity()) {
    event.preventDefault()
    event.stopPropagation()
  }

  form.classList.add('was-validated')
}, false)
})
})()

瀏覽器的默認值

對自定義驗證反饋消息或編寫JavaScript來更改表單行為不感興趣?很好,你可以使用瀏覽器的默認值。試著提交下面的表格。根據您的瀏覽器和操作系統,您將看到略有不同的反饋風格。

雖然這些反饋樣式不能用CSS設置樣式,但是您仍然可以通過JavaScript自定義反饋文本。

@
<form class="row g-3">
<div class="col-md-4">
<label for="validationDefault01" class="form-label">First name</label>
<input type="text" class="form-control" id="validationDefault01" value="Mark" required>
</div>
<div class="col-md-4">
<label for="validationDefault02" class="form-label">Last name</label>
<input type="text" class="form-control" id="validationDefault02" value="Otto" required>
</div>
<div class="col-md-4">
<label for="validationDefaultUsername" class="form-label">Username</label>
<div class="input-group">
<span class="input-group-text" id="inputGroupPrepend2">@</span>
<input type="text" class="form-control" id="validationDefaultUsername"  aria-describedby="inputGroupPrepend2" required>
</div>
</div>
<div class="col-md-6">
<label for="validationDefault03" class="form-label">City</label>
<input type="text" class="form-control" id="validationDefault03" required>
</div>
<div class="col-md-3">
<label for="validationDefault04" class="form-label">State</label>
<select class="form-select" id="validationDefault04" required>
<option selected disabled value="">Choose...</option>
<option>...</option>
</select>
</div>
<div class="col-md-3">
<label for="validationDefault05" class="form-label">Zip</label>
<input type="text" class="form-control" id="validationDefault05" required>
</div>
<div class="col-12">
<div class="form-check">
<input class="form-check-input" type="checkbox" value="" id="invalidCheck2" required>
<label class="form-check-label" for="invalidCheck2">
  Agree to terms and conditions
</label>
</div>
</div>
<div class="col-12">
<button class="btn btn-primary" type="submit">Submit form</button>
</div>
</form>

服務器端驗證

我們建議使用客戶端驗證,但如果需要服務器端驗證,可以用.is-invalid和.is-valid指示無效和有效的表單字段。注意。這些類也支持無效反饋。

對于無效字段,請確保使用aria-describedby將無效反饋/錯誤消息與相關表單字段相關聯(注意,如果該字段已指向其他表單文本,則此屬性允許引用多個id)。

若要解決邊界半徑的問題,輸入組需要額外的.has-validation。

Looks good!
Looks good!
@
Please choose a username.
Please provide a valid city.
Please select a valid state.
Please provide a valid zip.
You must agree before submitting.
<form class="row g-3">
<div class="col-md-4">
<label for="validationServer01" class="form-label">First name</label>
<input type="text" class="form-control is-valid" id="validationServer01" value="Mark" required>
<div class="valid-feedback">
Looks good!
</div>
</div>
<div class="col-md-4">
<label for="validationServer02" class="form-label">Last name</label>
<input type="text" class="form-control is-valid" id="validationServer02" value="Otto" required>
<div class="valid-feedback">
Looks good!
</div>
</div>
<div class="col-md-4">
<label for="validationServerUsername" class="form-label">Username</label>
<div class="input-group has-validation">
<span class="input-group-text" id="inputGroupPrepend3">@</span>
<input type="text" class="form-control is-invalid" id="validationServerUsername" aria-describedby="inputGroupPrepend3 validationServerUsernameFeedback" required>
<div id="validationServerUsernameFeedback" class="invalid-feedback">
  Please choose a username.
</div>
</div>
</div>
<div class="col-md-6">
<label for="validationServer03" class="form-label">City</label>
<input type="text" class="form-control is-invalid" id="validationServer03" aria-describedby="validationServer03Feedback" required>
<div id="validationServer03Feedback" class="invalid-feedback">
Please provide a valid city.
</div>
</div>
<div class="col-md-3">
<label for="validationServer04" class="form-label">State</label>
<select class="form-select is-invalid" id="validationServer04" aria-describedby="validationServer04Feedback" required>
<option selected disabled value="">Choose...</option>
<option>...</option>
</select>
<div id="validationServer04Feedback" class="invalid-feedback">
Please select a valid state.
</div>
</div>
<div class="col-md-3">
<label for="validationServer05" class="form-label">Zip</label>
<input type="text" class="form-control is-invalid" id="validationServer05" aria-describedby="validationServer05Feedback" required>
<div id="validationServer05Feedback" class="invalid-feedback">
Please provide a valid zip.
</div>
</div>
<div class="col-12">
<div class="form-check">
<input class="form-check-input is-invalid" type="checkbox" value="" id="invalidCheck3" aria-describedby="invalidCheck3Feedback" required>
<label class="form-check-label" for="invalidCheck3">
  Agree to terms and conditions
</label>
<div id="invalidCheck3Feedback" class="invalid-feedback">
  You must agree before submitting.
</div>
</div>
</div>
<div class="col-12">
<button class="btn btn-primary" type="submit">Submit form</button>
</div>
</form>

支持的元素

驗證樣式可用于以下表單控件和組件:

  • <input>和帶有.form-control<textarea>(在輸入組中最多包括一個.form-control)
  • 帶有.form-select<select>
  • .form-checks
Please enter a message in the textarea.
Example invalid feedback text
More example invalid feedback text
Example invalid select feedback
Example invalid form file feedback
<form class="was-validated">
<div class="mb-3">
<label for="validationTextarea" class="form-label">Textarea</label>
<textarea class="form-control is-invalid" id="validationTextarea" placeholder="Required example textarea" required></textarea>
<div class="invalid-feedback">
Please enter a message in the textarea.
</div>
</div>

<div class="form-check mb-3">
<input type="checkbox" class="form-check-input" id="validationFormCheck1" required>
<label class="form-check-label" for="validationFormCheck1">Check this checkbox</label>
<div class="invalid-feedback">Example invalid feedback text</div>
</div>

<div class="form-check">
<input type="radio" class="form-check-input" id="validationFormCheck2" name="radio-stacked" required>
<label class="form-check-label" for="validationFormCheck2">Toggle this radio</label>
</div>
<div class="form-check mb-3">
<input type="radio" class="form-check-input" id="validationFormCheck3" name="radio-stacked" required>
<label class="form-check-label" for="validationFormCheck3">Or toggle this other radio</label>
<div class="invalid-feedback">More example invalid feedback text</div>
</div>

<div class="mb-3">
<select class="form-select" required aria-label="select example">
<option value="">Open this select menu</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
<div class="invalid-feedback">Example invalid select feedback</div>
</div>

<div class="mb-3">
<input type="file" class="form-control" aria-label="file example" required>
<div class="invalid-feedback">Example invalid form file feedback</div>
</div>

<div class="mb-3">
<button class="btn btn-primary" type="submit" disabled>Submit form</button>
</div>
</form>

工具提示

如果表單布局允許,可以將.{valid|invalid}-feedback類替換為.{valid|invalid}-tooltip類,以在樣式化的工具提示中顯示驗證反饋。確保在工具提示定位時有一個帶有position: relative的父級。在下面的示例中,我們的列類已經有了這種設置,但是您的項目可能需要另一種設置。

Looks good!
Looks good!
@
Please choose a unique and valid username.
Please provide a valid city.
Please select a valid state.
Please provide a valid zip.
<form class="row g-3 needs-validation" novalidate>
<div class="col-md-4 position-relative">
<label for="validationTooltip01" class="form-label">First name</label>
<input type="text" class="form-control" id="validationTooltip01" value="Mark" required>
<div class="valid-tooltip">
Looks good!
</div>
</div>
<div class="col-md-4 position-relative">
<label for="validationTooltip02" class="form-label">Last name</label>
<input type="text" class="form-control" id="validationTooltip02" value="Otto" required>
<div class="valid-tooltip">
Looks good!
</div>
</div>
<div class="col-md-4 position-relative">
<label for="validationTooltipUsername" class="form-label">Username</label>
<div class="input-group has-validation">
<span class="input-group-text" id="validationTooltipUsernamePrepend">@</span>
<input type="text" class="form-control" id="validationTooltipUsername" aria-describedby="validationTooltipUsernamePrepend" required>
<div class="invalid-tooltip">
  Please choose a unique and valid username.
</div>
</div>
</div>
<div class="col-md-6 position-relative">
<label for="validationTooltip03" class="form-label">City</label>
<input type="text" class="form-control" id="validationTooltip03" required>
<div class="invalid-tooltip">
Please provide a valid city.
</div>
</div>
<div class="col-md-3 position-relative">
<label for="validationTooltip04" class="form-label">State</label>
<select class="form-select" id="validationTooltip04" required>
<option selected disabled value="">Choose...</option>
<option>...</option>
</select>
<div class="invalid-tooltip">
Please select a valid state.
</div>
</div>
<div class="col-md-3 position-relative">
<label for="validationTooltip05" class="form-label">Zip</label>
<input type="text" class="form-control" id="validationTooltip05" required>
<div class="invalid-tooltip">
Please provide a valid zip.
</div>
</div>
<div class="col-12">
<button class="btn btn-primary" type="submit">Submit form</button>
</div>
</form>

Sass

Variables

$form-feedback-margin-top:          $form-text-margin-top;
$form-feedback-font-size:           $form-text-font-size;
$form-feedback-font-style:          $form-text-font-style;
$form-feedback-valid-color:         $success;
$form-feedback-invalid-color:       $danger;

$form-feedback-icon-valid-color:    $form-feedback-valid-color;
$form-feedback-icon-valid:          url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>");
$form-feedback-icon-invalid-color:  $form-feedback-invalid-color;
$form-feedback-icon-invalid:        url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>");

Mixins

Two mixins are combined together, through our loop, to generate our form validation feedback styles.

@mixin form-validation-state-selector($state) {
@if ($state == "valid" or $state == "invalid") {
.was-validated #{if(&, "&", "")}:#{$state},
#{if(&, "&", "")}.is-#{$state} {
@content;
}
} @else {
#{if(&, "&", "")}.is-#{$state} {
@content;
}
}
}

@mixin form-validation-state(
$state,
$color,
$icon,
$tooltip-color: color-contrast($color),
$tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),
$focus-box-shadow: 0 0 $input-btn-focus-blur $input-focus-width rgba($color, $input-btn-focus-color-opacity)
) {
.#{$state}-feedback {
display: none;
width: 100%;
margin-top: $form-feedback-margin-top;
@include font-size($form-feedback-font-size);
font-style: $form-feedback-font-style;
color: $color;
}

.#{$state}-tooltip {
position: absolute;
top: 100%;
z-index: 5;
display: none;
max-width: 100%; // Contain to parent when possible
    padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;
margin-top: .1rem;
@include font-size($form-feedback-tooltip-font-size);
line-height: $form-feedback-tooltip-line-height;
color: $tooltip-color;
background-color: $tooltip-bg-color;
@include border-radius($form-feedback-tooltip-border-radius);
}

@include form-validation-state-selector($state) {
~ .#{$state}-feedback,
~ .#{$state}-tooltip {
display: block;
}
}

.form-control {
@include form-validation-state-selector($state) {
border-color: $color;

@if $enable-validation-icons {
  padding-right: $input-height-inner;
  background-image: escape-svg($icon);
  background-repeat: no-repeat;
  background-position: right $input-height-inner-quarter center;
  background-size: $input-height-inner-half $input-height-inner-half;
}

&:focus {
  border-color: $color;
  box-shadow: $focus-box-shadow;
}
}
}

// stylelint-disable-next-line selector-no-qualifying-type
  textarea.form-control {
@include form-validation-state-selector($state) {
@if $enable-validation-icons {
  padding-right: $input-height-inner;
  background-position: top $input-height-inner-quarter right $input-height-inner-quarter;
}
}
}

.form-select {
@include form-validation-state-selector($state) {
border-color: $color;

@if $enable-validation-icons {
  padding-right: $form-select-feedback-icon-padding-end;
  background-image: escape-svg($form-select-indicator), escape-svg($icon);
  background-position: $form-select-bg-position, $form-select-feedback-icon-position;
  background-size: $form-select-bg-size, $form-select-feedback-icon-size;
}

&:focus {
  border-color: $color;
  box-shadow: $focus-box-shadow;
}
}
}

.form-check-input {
@include form-validation-state-selector($state) {
border-color: $color;

&:checked {
  background-color: $color;
}

&:focus {
  box-shadow: $focus-box-shadow;
}

~ .form-check-label {
  color: $color;
}
}
}
.form-check-inline .form-check-input {
~ .#{$state}-feedback {
margin-left: .5em;
}
}

.input-group .form-control,
.input-group .form-select {
@include form-validation-state-selector($state) {
z-index: 3;
}
}
}

Map

This is the validation Sass map from _variables.scss. Override or extend this to generate different or additional states.

$form-validation-states: (
"valid": (
"color": $form-feedback-valid-color,
"icon": $form-feedback-icon-valid
),
"invalid": (
"color": $form-feedback-invalid-color,
"icon": $form-feedback-icon-invalid
)
);

Maps of $form-validation-states can contain three optional parameters to override tooltips and focus styles.

Loop

Used to iterate over $form-validation-states map values to generate our validation styles. Any modifications to the above Sass map will be reflected in your compiled CSS via this loop.

@each $state, $data in $form-validation-states {
@include form-validation-state($state, $data...);
}

Customizing

Validation states can be customized via Sass with the $form-validation-states map. Located in our _variables.scss file, this Sass map is how we generate the default valid/invalid validation states. Included is a nested map for customizing each state’s color, icon, tooltip color, and focus shadow. While no other states are supported by browsers, those using custom styles can easily add more complex form feedback.

Please note that we do not recommend customizing $form-validation-states values without also modifying the form-validation-state mixin.

返回頂部
亚洲一区二区三区在线播放,伊人久久精品无码av一区,亚洲国产精品一区二区第一页免,无码aⅴ精品一区二区三区浪潮
<span id="fu32q"></span>
    1. <li id="fu32q"><meter id="fu32q"><th id="fu32q"></th></meter></li>
      丁香六月综合激情| 国内精品写真在线观看| 99re亚洲国产精品| 蜜臀久久99精品久久久久宅男| 日韩在线一区二区三区| 久久成人综合网| 成人免费黄色大片| 奇米影视7777精品一区二区| 精品一区二区三区av| 成人不卡免费av| 精品一区二区三区影院在线午夜| av电影在线观看不卡| 精品制服美女丁香| 91视频www| 国产成人在线网站| 精品一区二区国语对白| thepron国产精品| 国产麻豆精品久久一二三| 视频一区欧美精品| 成人动漫一区二区在线| 国产精品一区二区91| 日韩影院精彩在线| 国产凹凸在线观看一区二区| 蜜臀久久99精品久久久久宅男| 成人激情视频网站| 国产福利一区二区三区| 久久精品国产秦先生| 91丨porny丨国产入口| 国产v日产∨综合v精品视频| 国产精品一区久久久久| 久久超级碰视频| 三级成人在线视频| 99久久国产免费看| 国产精品综合视频| 久久国产麻豆精品| 热久久国产精品| 日韩国产欧美在线播放| 北条麻妃一区二区三区| 国产成人精品免费视频网站| 国产一区二区三区在线观看免费| 日本特黄久久久高潮| 日韩精品一二三区| 石原莉奈在线亚洲三区| 99久久精品费精品国产一区二区| 不卡欧美aaaaa| 不卡的av中国片| 国产成人av一区| 不卡在线观看av| 成人污污视频在线观看| 成人a区在线观看| 国产成人免费在线视频| 国产一区二区三区四区五区美女| 国产一区二区三区四区五区入口 | 日韩高清国产一区在线| 国产成人精品午夜视频免费| 国模少妇一区二区三区| 国内精品第一页| 国产精品911| 日韩综合小视频| 91理论电影在线观看| 99久久伊人精品| 91免费国产视频网站| 视频一区二区三区在线| 日韩精品色哟哟| 日韩vs国产vs欧美| 久草精品在线观看| 福利视频网站一区二区三区| 粉嫩蜜臀av国产精品网站| 99视频有精品| 免费一区二区视频| 毛片不卡一区二区| 国产黄色成人av| 精品一区二区三区在线观看国产| 国产成人在线视频免费播放| 成人av电影免费在线播放| 日韩精品亚洲专区| 国产精品一区二区黑丝| 97se亚洲国产综合在线| 免费在线观看日韩欧美| 国产不卡一区视频| 日韩电影免费在线看| 国产麻豆视频一区| 日韩国产欧美一区二区三区| 国v精品久久久网| 美女视频一区在线观看| 国产精品亚洲а∨天堂免在线| 91免费国产视频网站| 国产一区二区女| 99久久夜色精品国产网站| 国产一区二区在线观看视频| 99热国产精品| 美国av一区二区| 91在线精品一区二区| 久久精品国产一区二区| 视频一区欧美日韩| 成人免费观看视频| 国产黄色精品网站| 韩国三级在线一区| 91一区二区三区在线观看| 国内精品免费在线观看| 日本成人在线电影网| 成人激情综合网站| 国产成人免费视频网站高清观看视频| 日韩不卡一区二区三区| 成人晚上爱看视频| 国产麻豆一精品一av一免费 | 日韩精品一区第一页| 精品一区二区久久久| 免费在线一区观看| 日日夜夜免费精品| 波多野结衣中文字幕一区二区三区| 久久er精品视频| 91麻豆文化传媒在线观看| 美女精品自拍一二三四| 日韩av不卡一区二区| bt欧美亚洲午夜电影天堂| 国产一区二区三区在线看麻豆| 麻豆精品一区二区av白丝在线| a在线播放不卡| 国产精品99久久久久久有的能看| 国产一区激情在线| 国产在线精品免费av| 久久99在线观看| 美女在线视频一区| 精品一区二区三区久久| 久久精品国产99国产精品| 99久久精品一区| av电影在线观看一区| 99国产精品久久| 99久久精品一区二区| 99久久国产综合色|国产精品| 91丝袜呻吟高潮美腿白嫩在线观看| 成人免费的视频| 国产成人精品免费视频网站| 懂色av一区二区三区免费观看| 国产aⅴ精品一区二区三区色成熟| 国产福利一区二区三区视频| 成人一区二区三区中文字幕| 国产精品1区二区.| 国产成人日日夜夜| 99国内精品久久| 日本亚洲三级在线| 精品午夜久久福利影院| 国产精品系列在线观看| 91玉足脚交白嫩脚丫在线播放| 91色视频在线| 久久99精品久久久| 国产高清亚洲一区| 99精品欧美一区二区三区小说 | 成人av免费网站| 91亚洲国产成人精品一区二区三 | 99精品视频在线播放观看| 日韩—二三区免费观看av| 蜜桃视频在线一区| 国产一区二区按摩在线观看| 国产成人精品免费网站| 99久久er热在这里只有精品15| 日本视频一区二区三区| 久久97超碰国产精品超碰| 成人免费视频视频在线观看免费| 97久久超碰国产精品| 理论电影国产精品| 丰满白嫩尤物一区二区| 免费的成人av| 成人黄色av电影| 奇米色一区二区| 国产在线播放一区| 99国产精品久久久久| 国产专区综合网| 不卡视频在线观看| 国产一区二区免费在线| 91免费看`日韩一区二区| 国产河南妇女毛片精品久久久| 日日噜噜夜夜狠狠视频欧美人 | 成人精品国产一区二区4080| 久久精品国产一区二区| 99久精品国产| 国产精品1区2区3区| 91免费看`日韩一区二区| 国产高清视频一区| 精品一区二区成人精品| 日韩制服丝袜av| 99久久伊人网影院| 国产成人自拍高清视频在线免费播放| 久久精品免费看| 人人爽香蕉精品| 91在线高清观看| 成人毛片在线观看| 国产精品996| 狠狠网亚洲精品| 蜜桃久久av一区| 99re在线精品| 99视频精品全部免费在线| 国产乱码精品一区二区三区忘忧草 | 日韩精品欧美精品| 成人动漫av在线| 高清久久久久久| 国产在线一区观看| 久久精品久久精品| 美女网站一区二区| 免费国产亚洲视频| 久久99久久精品| 日韩成人免费看| 91在线云播放| 97久久超碰精品国产| 99精品视频一区二区三区| 99久久久无码国产精品| www..com久久爱| 91在线免费视频观看| 91丨九色porny丨蝌蚪| 91免费观看视频在线| 爽好久久久欧美精品| 91免费国产视频网站| 日韩中文字幕麻豆| 蜜臀精品一区二区三区在线观看| 日本大胆欧美人术艺术动态| 奇米精品一区二区三区四区 | 日韩一区精品字幕| 青青草国产精品97视觉盛宴| 日本怡春院一区二区| 日本成人中文字幕| 精久久久久久久久久久| 国产在线不卡视频| 成人三级伦理片| 91麻豆成人久久精品二区三区| 91丨porny丨中文| 奇米777欧美一区二区| 久久国产福利国产秒拍| 国产精一品亚洲二区在线视频| 盗摄精品av一区二区三区| zzijzzij亚洲日本少妇熟睡| 99久久亚洲一区二区三区青草| 日本午夜一区二区| 国产久卡久卡久卡久卡视频精品| 国产成人高清在线| 99精品久久只有精品| 日本 国产 欧美色综合| 国产一区二区福利视频| 成人黄色在线网站| 奇米精品一区二区三区四区| 国产美女娇喘av呻吟久久| 99视频精品全部免费在线| 麻豆极品一区二区三区| 国产精品影视在线观看| 日韩中文字幕91| 国产99久久久精品| 91在线云播放| 国产精品99久久久久久似苏梦涵| 91网站在线观看视频| 精彩视频一区二区三区| 国产传媒日韩欧美成人| 丝袜a∨在线一区二区三区不卡| 精久久久久久久久久久| www.色综合.com| 韩国成人精品a∨在线观看| 成人激情小说网站| 国产一区中文字幕| 视频精品一区二区| 成人黄色网址在线观看| 韩国一区二区三区| 日韩在线a电影| 成人精品视频网站| 国产在线精品一区二区夜色 | 日韩精品免费专区| 成人深夜在线观看| 精品一区二区在线视频| 日韩制服丝袜av| 99久久精品情趣| 国产999精品久久| 久久精品国产网站| 日韩精品三区四区| 91偷拍与自偷拍精品| 成人免费av在线| 国产ts人妖一区二区| 激情综合五月婷婷| 日韩中文字幕麻豆| 91免费版在线| 97久久精品人人爽人人爽蜜臀| 豆国产96在线|亚洲| 国产成人在线免费| 国产伦精一区二区三区| 免费久久99精品国产| 日本aⅴ亚洲精品中文乱码| 99re这里都是精品| av资源站一区| 成人在线一区二区三区| 国产精品综合二区| 国产一区不卡精品| 九色porny丨国产精品| 男人的天堂亚洲一区| 日本伊人午夜精品| 蜜桃视频一区二区三区| 另类小说综合欧美亚洲| 久久狠狠亚洲综合| 精品一区二区三区在线视频| 久草精品在线观看| 国产乱码精品一区二区三区忘忧草| 激情久久五月天| 国产揄拍国内精品对白| 国产高清不卡二三区| 丁香婷婷综合激情五月色| 东方欧美亚洲色图在线| 成人小视频在线观看| 成人午夜伦理影院| av成人老司机| 91免费看视频| 麻豆精品国产传媒mv男同| 久久99久久99精品免视看婷婷| 激情av综合网| 粉嫩一区二区三区性色av| 95精品视频在线| 精品在线观看视频| 成人午夜私人影院| 91玉足脚交白嫩脚丫在线播放| 日韩福利视频导航| 国产一区二区三区免费看| 处破女av一区二区| 日日嗨av一区二区三区四区| 精品一区二区三区在线播放| 国产成人一区二区精品非洲| 国产成人精品综合在线观看| 99久久精品国产麻豆演员表| 久久精品国产精品亚洲红杏| 国产成人一级电影| 日韩成人dvd| 国产精品性做久久久久久| 97se亚洲国产综合自在线观| 久草中文综合在线| 不卡一卡二卡三乱码免费网站| 日韩在线播放一区二区| 国产在线看一区| 91免费国产视频网站| 韩国女主播成人在线观看| av中文一区二区三区| 久久精品国产免费| aaa亚洲精品一二三区| 美女一区二区三区| k8久久久一区二区三区| 久久99精品久久久久久动态图| 成人av网站免费| 国产一区视频导航| 日韩精品一二三四| 成人av在线影院| 激情国产一区二区| 日韩高清在线电影| a级精品国产片在线观看| 国产在线视频精品一区| 日韩国产在线观看| 成人a区在线观看| 国产精品中文字幕日韩精品| 日本欧美一区二区在线观看| 成人午夜精品一区二区三区| 蜜臀av性久久久久蜜臀aⅴ| 99国产一区二区三精品乱码| 国产福利一区二区三区| 精品一区精品二区高清| 男女男精品视频| 91免费在线播放| jvid福利写真一区二区三区| 国产精品一二三四区| 麻豆中文一区二区| 日精品一区二区| av中文一区二区三区| 国产成人精品免费视频网站| 国模娜娜一区二区三区| 极品少妇一区二区三区精品视频| 日本不卡视频一二三区| 99国产精品99久久久久久| 成人av网站免费观看| 成人永久免费视频| 成人永久免费视频| 国产91精品一区二区| 国产精品18久久久久久久久| 久久国产精品区| 蜜桃免费网站一区二区三区| 日本怡春院一区二区| 日本亚洲三级在线| 爽爽淫人综合网网站| 91亚洲精品久久久蜜桃网站| 99亚偷拍自图区亚洲| 99久久精品免费| 91丝袜呻吟高潮美腿白嫩在线观看| av在线综合网| 99精品久久免费看蜜臀剧情介绍| bt7086福利一区国产| 91美女视频网站| 美女诱惑一区二区| 久久99久国产精品黄毛片色诱| 精品一区二区在线观看| 国产真实乱偷精品视频免| 国产九色精品成人porny | 国产不卡一区视频| 成人综合在线网站| 99久久伊人精品| 青青草国产成人99久久| 另类成人小视频在线| 国产在线播精品第三| 丁香婷婷综合激情五月色| caoporn国产精品| 秋霞成人午夜伦在线观看|