精品久久久久久亚洲精品_成人午夜网站_www日本高清_亚洲精品久久久久午夜福

表單驗證(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.

返回頂部
精品久久久久久亚洲精品_成人午夜网站_www日本高清_亚洲精品久久久久午夜福

      9000px;">

          国产**成人网毛片九色| 色欧美日韩亚洲| 666欧美在线视频| 日本美女视频一区二区| 日韩欧美二区三区| 国产精品综合二区| 亚洲乱码国产乱码精品精98午夜| 91黄视频在线| 精品伊人久久久久7777人| 久久人人97超碰com| 9l国产精品久久久久麻豆| 亚洲另类色综合网站| 91精品久久久久久久久99蜜臂| 精品午夜一区二区三区在线观看| 欧美高清一级片在线观看| 色老汉一区二区三区| 久88久久88久久久| 亚洲人123区| 久久日韩粉嫩一区二区三区| 色琪琪一区二区三区亚洲区| 欧美a级理论片| 一区二区三区在线视频观看| 久久久久久久久一| 欧美喷潮久久久xxxxx| 成人精品免费看| 麻豆成人综合网| 亚洲一线二线三线视频| 国产精品每日更新| 欧美大尺度电影在线| 91官网在线观看| 成人午夜视频免费看| 韩国视频一区二区| 免费人成精品欧美精品| 中文字幕中文乱码欧美一区二区| 91精品国产手机| 91搞黄在线观看| 成人午夜电影网站| 国产一区91精品张津瑜| 日韩中文字幕av电影| 亚洲综合清纯丝袜自拍| 国产精品成人在线观看| 久久久青草青青国产亚洲免观| 欧美色男人天堂| 色综合久久综合中文综合网| 国产91丝袜在线18| 国产精品白丝jk黑袜喷水| 麻豆国产精品一区二区三区| 日本怡春院一区二区| 亚洲精品国产视频| 亚洲视频在线一区二区| 国产精品丝袜91| 国产精品日韩精品欧美在线| 久久久精品天堂| 久久亚洲捆绑美女| 久久久久久97三级| 国产日韩影视精品| 国产欧美日韩精品一区| 欧美激情一区二区三区在线| 久久久久久久久蜜桃| 欧美精品一区二区在线观看| 精品免费99久久| 国产拍揄自揄精品视频麻豆| 国产精品人成在线观看免费| 亚洲免费毛片网站| 偷拍亚洲欧洲综合| 精彩视频一区二区三区| 国产suv精品一区二区883| 成人毛片老司机大片| 国产免费成人在线视频| 91亚洲精品一区二区乱码| 国产精品三级视频| 国产日韩成人精品| 中文字幕永久在线不卡| 一区二区三区欧美日| 日本欧美在线观看| 国产电影精品久久禁18| 在线视频你懂得一区| 7777精品伊人久久久大香线蕉| 欧美电影免费观看高清完整版在线观看| 欧美精品一区二区久久久| 国产精品短视频| 亚洲高清三级视频| 丰满少妇在线播放bd日韩电影| 国v精品久久久网| 欧美精品色综合| 欧美国产精品中文字幕| 亚洲18色成人| 轻轻草成人在线| 亚洲电影一级片| 午夜天堂影视香蕉久久| 美女视频网站黄色亚洲| 成熟亚洲日本毛茸茸凸凹| 欧美色图激情小说| 久久久精品国产免费观看同学| 国产精品国产三级国产aⅴ原创| 性感美女久久精品| 99久久精品免费精品国产| 日韩三级.com| 亚洲欧洲综合另类在线| 国产精一区二区三区| 69堂亚洲精品首页| 亚洲少妇屁股交4| 国内精品伊人久久久久av影院 | 国产色综合久久| 亚洲第一福利视频在线| 国产欧美日韩在线| 91在线免费播放| 亚洲午夜激情网站| 亚洲人成在线观看一区二区| 日本特黄久久久高潮| 色婷婷亚洲综合| 亚洲视频一二三区| 成人av第一页| 国产精品日产欧美久久久久| 精品一区二区三区影院在线午夜| 欧美三级韩国三级日本三斤| 亚洲精品国产视频| 色菇凉天天综合网| 亚洲色图一区二区| 91亚洲精品乱码久久久久久蜜桃| 国产精品区一区二区三区| 国产精品白丝jk黑袜喷水| 久久精品一区二区三区不卡| 国产精品18久久久久久久网站| 日韩欧美的一区二区| 伦理电影国产精品| 久久午夜国产精品| 成人国产免费视频| 亚洲综合一区在线| 欧美欧美欧美欧美首页| 视频一区二区国产| 欧美一级黄色大片| 国产一区在线观看视频| 国产日韩欧美在线一区| 成人午夜电影网站| 一区二区三区日韩欧美精品| 欧美精品久久天天躁| 国产黄人亚洲片| 国产欧美日韩不卡| 亚洲国产精品一区二区www在线| 色综合久久久久| 亚洲自拍与偷拍| 精品欧美乱码久久久久久| 顶级嫩模精品视频在线看| 亚洲欧美电影院| 91麻豆精品91久久久久久清纯| 极品少妇一区二区三区精品视频 | 成人sese在线| 一区二区三区在线观看网站| 91精品国产全国免费观看| 国产成人三级在线观看| 亚洲三级在线看| 欧美变态tickling挠脚心| 91免费视频观看| 精品一区二区影视| 亚洲品质自拍视频网站| 日韩欧美专区在线| 午夜视频久久久久久| 国产三级三级三级精品8ⅰ区| 菠萝蜜视频在线观看一区| 欧美国产精品一区| 中文字幕在线不卡| 欧美日韩一区在线| 国产米奇在线777精品观看| 中文字幕日韩av资源站| 欧美老女人在线| 成人手机在线视频| 青娱乐精品在线视频| 最新不卡av在线| 日韩精品最新网址| 欧美亚洲国产一卡| 不卡免费追剧大全电视剧网站| 婷婷开心激情综合| 亚洲欧洲综合另类在线| 久久久久久免费毛片精品| 欧美日韩国产高清一区| 国产91高潮流白浆在线麻豆| 日韩高清一区二区| 香蕉成人啪国产精品视频综合网| 99久久夜色精品国产网站| 日韩精品一区第一页| 亚洲欧美日韩中文字幕一区二区三区| 6080国产精品一区二区| 91蝌蚪国产九色| 懂色av一区二区三区蜜臀 | 日本一二三不卡| 久久夜色精品国产噜噜av| 日韩欧美一级二级三级 | 欧美一区二区精品在线| 欧美在线不卡一区| 95精品视频在线| av高清不卡在线| 成人av中文字幕| 国产乱对白刺激视频不卡| 久久国产精品色婷婷| 日韩影院在线观看| 三级欧美在线一区| 日本亚洲欧美天堂免费| 免费不卡在线观看| 激情综合网激情|