精品久久久久久亚洲精品_成人午夜网站_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;">

          国产精品资源站在线| 一区二区三区资源| 欧美性感一类影片在线播放| 成人一区二区三区在线观看| 精品一区二区国语对白| 日本va欧美va瓶| 蜜桃视频一区二区| 日韩精品免费视频人成| 免费在线看一区| 伦理电影国产精品| 久久99国产精品麻豆| 蜜臀国产一区二区三区在线播放 | 国产一区二区剧情av在线| 日韩电影网1区2区| 久久99久久99小草精品免视看| 日本美女一区二区三区| 麻豆视频观看网址久久| 国产酒店精品激情| 99精品热视频| 欧美精品一级二级| 91精品国产91久久久久久最新毛片| 日韩欧美国产wwwww| 久久色成人在线| 中文字幕在线一区免费| 一区二区三区影院| 天堂影院一区二区| 国产a级毛片一区| 91浏览器入口在线观看| 欧美日韩另类一区| 精品第一国产综合精品aⅴ| 国产精品久久久久久久久搜平片| 亚洲同性gay激情无套| 日本亚洲欧美天堂免费| 国产一区二区视频在线| 91美女在线看| 日韩欧美一级在线播放| 自拍av一区二区三区| 久热成人在线视频| 色综合久久久久| 日韩欧美亚洲国产另类| 亚洲图片欧美激情| 老司机一区二区| 色屁屁一区二区| 精品久久五月天| 亚洲午夜一二三区视频| 国产91丝袜在线播放0| 欧美日韩色综合| 国产色一区二区| 亚洲chinese男男1069| 国产高清在线观看免费不卡| 欧美四级电影在线观看| 国产调教视频一区| 天天综合色天天综合色h| 91亚洲国产成人精品一区二区三| 日韩一区二区麻豆国产| 亚洲自拍都市欧美小说| 懂色av一区二区三区蜜臀 | 麻豆成人久久精品二区三区小说| 色播五月激情综合网| 国产精品系列在线| 国产一区二区在线视频| 欧美日本视频在线| 亚洲乱码国产乱码精品精的特点| 国产成人一级电影| 精品久久一区二区| 日韩精品高清不卡| 欧美人动与zoxxxx乱| 亚洲精品国产成人久久av盗摄| 粉嫩av一区二区三区在线播放| 欧美喷潮久久久xxxxx| 亚洲一区二区三区四区五区黄| 99久久久精品| 亚洲国产精品黑人久久久| 国产曰批免费观看久久久| 在线观看91av| 日本中文一区二区三区| 日韩三级视频在线观看| 日韩中文字幕区一区有砖一区 | 日韩毛片视频在线看| 成人理论电影网| 国产欧美日韩在线观看| 国产一区日韩二区欧美三区| 亚洲精品在线免费播放| 国产裸体歌舞团一区二区| 欧美一区二区免费视频| 免费成人在线观看视频| 欧美高清视频一二三区| 久久精品亚洲麻豆av一区二区 | 国产日韩欧美a| 国产xxx精品视频大全| 国产精品国产精品国产专区不片| 成人99免费视频| 亚洲免费三区一区二区| 成人丝袜视频网| 一区二区成人在线视频| 欧美久久免费观看| 国产精品自拍一区| 亚洲视频免费看| 69p69国产精品| 国模娜娜一区二区三区| 亚洲女爱视频在线| 91麻豆精品国产91久久久使用方法 | 亚洲狼人国产精品| 6080午夜不卡| 国产精品1区2区| 亚洲国产视频a| 精品国产成人系列| 97se亚洲国产综合在线| 美女一区二区视频| 亚洲国产高清在线观看视频| 在线看一区二区| 国产精品一区二区免费不卡 | 17c精品麻豆一区二区免费| 欧美男女性生活在线直播观看| 美女一区二区三区在线观看| 国产精品不卡在线观看| 欧美蜜桃一区二区三区| 国产成人一区二区精品非洲| 天天操天天色综合| 国产精品国模大尺度视频| 欧美人狂配大交3d怪物一区| 大桥未久av一区二区三区中文| 精品国产乱码久久久久久浪潮| 欧美体内she精高潮| 青青草国产精品亚洲专区无| 久久青草国产手机看片福利盒子| 91丝袜呻吟高潮美腿白嫩在线观看| 奇米亚洲午夜久久精品| **性色生活片久久毛片| 久久久久久久综合色一本| 欧美视频自拍偷拍| av一二三不卡影片| 激情综合五月天| 日韩成人伦理电影在线观看| 亚洲精品欧美激情| 国产精品天干天干在观线| 欧美成人伊人久久综合网| 欧洲精品视频在线观看| 不卡一区二区三区四区| 国产高清不卡一区二区| 久久99精品久久只有精品| 天天综合色天天| 亚洲一二三区不卡| 亚洲欧洲综合另类| 亚洲少妇30p| 日韩国产一区二| 色婷婷av一区二区三区gif| 另类专区欧美蜜桃臀第一页| 亚洲国产视频一区二区| 一个色妞综合视频在线观看| 中文字幕亚洲区| 1000部国产精品成人观看| 国产精品超碰97尤物18| 亚洲视频精选在线| 亚洲欧美一区二区不卡| 中文字幕在线观看一区| 日韩一区在线看| 1024精品合集| 亚洲国产日产av| 日本伊人精品一区二区三区观看方式| 日韩成人一区二区三区在线观看| 麻豆精品国产91久久久久久| 久久精品国产免费| 国产精品1024久久| 成人激情小说网站| 91色在线porny| 欧美日韩国产另类一区| 日韩欧美国产小视频| 欧美大片一区二区三区| 欧美韩日一区二区三区四区| 国产一区二区电影| 国产很黄免费观看久久| 欧美大尺度电影在线| 亚洲成a人片在线不卡一二三区| 欧美精品一区男女天堂| 久久只精品国产| 中文字幕一区二区三区色视频| 亚洲欧美视频在线观看视频| 日韩高清在线电影| 国产精品一二三四| 色综合久久88色综合天天6| 欧美日韩综合不卡| 国产日韩欧美不卡| 亚洲曰韩产成在线| 久久精品国产一区二区| 成人精品电影在线观看| 欧美日本乱大交xxxxx| 亚洲国产电影在线观看| 亚洲成人av在线电影| 国产经典欧美精品| 欧美视频日韩视频在线观看| 精品国产制服丝袜高跟| 亚洲日本一区二区| 国产中文字幕精品| 在线一区二区三区四区| 久久久亚洲精品一区二区三区| 亚洲综合免费观看高清完整版 | 极品美女销魂一区二区三区免费| 99久久久无码国产精品| 欧美一级片在线观看|