亚洲一区二区三区在线播放,伊人久久精品无码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>
      麻豆精品新av中文字幕| 日韩av电影天堂| av亚洲精华国产精华| 99久久免费国产| 美女脱光内衣内裤视频久久网站| 国产一区日韩二区欧美三区| www.久久精品| 国内精品第一页| 99精品久久99久久久久| 国产原创一区二区| 三级久久三级久久| 国产精品一区二区三区四区| 日本va欧美va欧美va精品| 国产麻豆一精品一av一免费| 日韩电影在线观看网站| 国产成人免费xxxxxxxx| 美女视频一区二区三区| 99久久99久久久精品齐齐| 国内精品免费**视频| 日本午夜精品视频在线观看| 成熟亚洲日本毛茸茸凸凹| 久久成人久久爱| 日韩成人精品在线观看| 成人免费视频一区二区| 国产一区不卡视频| 免费人成网站在线观看欧美高清| www.日本不卡| 成人高清视频在线观看| 国产不卡高清在线观看视频| 国产一区视频网站| 韩国视频一区二区| 精品一区二区精品| 麻豆91精品91久久久的内涵| 日韩综合一区二区| 91免费在线看| 91在线一区二区三区| 成人动漫视频在线| 成人久久视频在线观看| 国产aⅴ精品一区二区三区色成熟| 激情伊人五月天久久综合| 免费欧美日韩国产三级电影| 日本怡春院一区二区| 成人听书哪个软件好| 成人激情av网| 成a人片国产精品| av电影在线观看不卡| 波多野结衣视频一区| 成人高清免费观看| av日韩在线网站| 日韩精品电影一区亚洲| 日韩精品一级中文字幕精品视频免费观看 | 日本成人超碰在线观看| 波多野结衣中文字幕一区二区三区| 国产白丝网站精品污在线入口| 国产福利视频一区二区三区| 国产一区二区三区在线观看免费视频 | 97se狠狠狠综合亚洲狠狠| av一区二区不卡| 三级不卡在线观看| 久久国产麻豆精品| 国产精品中文有码| 不卡免费追剧大全电视剧网站| 97久久人人超碰| 欧美a级理论片| 极品少妇一区二区| 国产成人小视频| www.日本不卡| 久久99精品久久久| 国产suv精品一区二区三区| www.亚洲人| 麻豆精品新av中文字幕| 国产69精品一区二区亚洲孕妇| av一二三不卡影片| 激情伊人五月天久久综合| 夫妻av一区二区| 日韩电影在线一区| 国产精品自在欧美一区| 972aa.com艺术欧美| 韩国av一区二区三区在线观看| 国产成人8x视频一区二区| 91在线看国产| 国产美女久久久久| 日本女优在线视频一区二区| 国产一区二区调教| 肉色丝袜一区二区| 风流少妇一区二区| 精品一区二区三区免费毛片爱| av电影一区二区| 国产一区二区在线观看免费| 日韩高清一区二区| 国产91在线观看| 免费观看在线色综合| 国产69精品一区二区亚洲孕妇| 男人操女人的视频在线观看欧美| 成人成人成人在线视频| 国产一区二区三区不卡在线观看| 99国产精品久久| 国产精品一二三四区| 三级精品在线观看| 成人黄色在线看| 国产精品综合视频| 久久国产精品色| 91免费看片在线观看| 国产传媒一区在线| 精品一区二区三区久久| 奇米一区二区三区| 日韩成人精品在线观看| 99久久婷婷国产综合精品 | 91丨porny丨国产| 国产二区国产一区在线观看| 久久成人羞羞网站| 麻豆精品视频在线观看视频| 日韩中文字幕麻豆| 成+人+亚洲+综合天堂| 国产高清精品网站| 国产一区二区在线电影| 国产中文字幕精品| 激情五月婷婷综合网| 麻豆国产欧美日韩综合精品二区| 天堂成人国产精品一区| av不卡一区二区三区| 波多野洁衣一区| 99精品热视频| 97超碰欧美中文字幕| 99re这里只有精品视频首页| www.亚洲人| 91日韩精品一区| 青青国产91久久久久久| 久久精品国产99国产精品| 青青草国产成人av片免费| 美腿丝袜一区二区三区| 久久精品国产亚洲aⅴ| 久久国产精品99久久人人澡| 精品一区二区在线视频| 国产精品99久久久久久久vr| 国产成人99久久亚洲综合精品| 99久久婷婷国产综合精品| 国产剧情av麻豆香蕉精品| 国产乱码精品一区二区三区av| 国产原创一区二区| 国产91露脸合集magnet| 成人在线一区二区三区| www.亚洲色图| 美腿丝袜亚洲综合| 国产成人av一区二区三区在线观看| 成人在线视频一区二区| 99久久久久免费精品国产 | 91麻豆国产精品久久| 日韩精品福利网| 久久国产欧美日韩精品| 成人午夜在线免费| 97精品电影院| 久久精品国产**网站演员| 国产精品一区二区黑丝| 99久久精品国产一区| 日产欧产美韩系列久久99| 激情小说亚洲一区| 97国产精品videossex| 精油按摩中文字幕久久| 成人免费高清视频在线观看| 美国一区二区三区在线播放 | 国产99久久久久久免费看农村| 99re6这里只有精品视频在线观看| 麻豆国产一区二区| 成人毛片视频在线观看| 久久精品免费看| www.亚洲精品| 国产一区二区三区四区五区美女| 成人av高清在线| 精品在线免费视频| 97久久精品人人做人人爽| 精品一区二区在线看| 91在线免费视频观看| 国产精品一区三区| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产成人午夜电影网| 日本午夜一区二区| 99视频精品全部免费在线| 国内精品写真在线观看| 91在线云播放| 成人综合在线视频| 国产在线精品一区在线观看麻豆| 91蜜桃在线观看| 成人综合婷婷国产精品久久免费| 久久99热狠狠色一区二区| 99国产精品99久久久久久| 国产ts人妖一区二区| 国产综合久久久久久久久久久久| 日韩精品电影一区亚洲| av电影在线观看一区| 国产**成人网毛片九色| 国产一区二区日韩精品| 激情综合亚洲精品| 久久99精品久久久久婷婷| 日本一不卡视频| 日韩精品一级二级| 99re热这里只有精品视频| 成人av在线一区二区三区| 国产精品1024| 国产麻豆视频一区二区| 国产真实精品久久二三区| 精品在线观看视频| 理论电影国产精品| 蜜桃av噜噜一区二区三区小说| 91日韩精品一区| 日韩精品91亚洲二区在线观看| av电影在线观看一区| 不卡的电视剧免费网站有什么| 成人动漫精品一区二区| av电影在线观看一区| 99re这里只有精品视频首页| 天堂va蜜桃一区二区三区漫画版| 91视频免费播放| 日本三级亚洲精品| 免费的国产精品| 蜜乳av一区二区| 国产综合久久久久久久久久久久| 国产精品中文字幕欧美| 国产iv一区二区三区| 99久久免费国产| 奇米影视在线99精品| 久久99精品久久久久久久久久久久| 经典三级在线一区| 国产成人午夜精品影院观看视频| 成人黄色大片在线观看| 日韩精品久久理论片| 精品亚洲aⅴ乱码一区二区三区| 国产一区视频导航| 成人免费毛片片v| 丝袜诱惑制服诱惑色一区在线观看| 首页综合国产亚洲丝袜| 全部av―极品视觉盛宴亚洲| 精品一区在线看| 成人福利视频网站| 蜜臀av一级做a爰片久久| 成人高清视频在线| 99久久精品免费看| 蜜臀va亚洲va欧美va天堂| 狠狠色丁香婷婷综合久久片| 国产成人免费视频一区| 91一区一区三区| 麻豆精品国产传媒mv男同| 国产成人av一区| 日韩经典中文字幕一区| 国产一区二区不卡老阿姨| 99国产精品一区| 国产自产v一区二区三区c| 99精品视频在线免费观看| 久久福利视频一区二区| 成人国产视频在线观看| 久久99精品久久久久久动态图 | 99国产精品国产精品毛片| 久久福利视频一区二区| 不卡一区在线观看| 久久 天天综合| 成人av电影在线网| 狠狠色综合日日| 91啪九色porn原创视频在线观看| 国产一区在线视频| 日韩av电影免费观看高清完整版| 懂色av中文字幕一区二区三区 | 成人黄页毛片网站| 久久se这里有精品| 91一区在线观看| 丁香六月久久综合狠狠色| 美女视频黄 久久| 91色婷婷久久久久合中文| 国产69精品久久久久777| 久久福利资源站| 琪琪一区二区三区| 91美女蜜桃在线| 粉嫩蜜臀av国产精品网站| 国产在线不卡一卡二卡三卡四卡| 日韩福利电影在线观看| 99在线精品观看| 成人手机电影网| 国产成人av电影在线播放| 韩国欧美国产1区| 久久精品国产一区二区三| 日韩国产精品久久久久久亚洲| av亚洲精华国产精华精| 成人性视频免费网站| 国产精品538一区二区在线| 久久精品99久久久| 六月丁香婷婷久久| 免费不卡在线视频| 免费成人av在线播放| 蜜桃免费网站一区二区三区| 91欧美一区二区| 日韩激情一二三区| 91丨porny丨蝌蚪视频| av不卡免费电影| 91亚洲精品久久久蜜桃网站| 99视频有精品| 91在线播放网址| 97aⅴ精品视频一二三区| 91蜜桃网址入口| 日韩一区欧美二区| 日本成人在线视频网站| 蜜桃一区二区三区在线| 麻豆精品一区二区av白丝在线| 美国一区二区三区在线播放 | 99久久国产免费看| 成人激情免费网站| 97久久超碰精品国产| 91免费看片在线观看| 奇米色777欧美一区二区| 免费成人你懂的| 国产一区二区免费视频| 懂色一区二区三区免费观看| 成人99免费视频| 肉肉av福利一精品导航| 久久国产精品一区二区| 国产一区 二区 三区一级| 懂色av一区二区三区蜜臀| 99久久国产免费看| 蜜臀av性久久久久蜜臀av麻豆| 国产资源精品在线观看| 成人久久久精品乱码一区二区三区 | 成人sese在线| 日本三级亚洲精品| 国产乱理伦片在线观看夜一区| 国产成人综合网| 91蝌蚪国产九色| 久久国产夜色精品鲁鲁99| 国产成人av电影在线观看| 91亚洲午夜精品久久久久久| 久久er99精品| www.日本不卡| 久久99久久久久| 成人av高清在线| 精品一区二区三区在线观看 | 精品亚洲欧美一区| 成人亚洲一区二区一| 免费欧美在线视频| 国产福利不卡视频| 蜜臀av国产精品久久久久| 粉嫩av一区二区三区粉嫩| 蜜桃传媒麻豆第一区在线观看| 成人性视频网站| 久久99精品久久久久久国产越南| 成人h精品动漫一区二区三区| 看国产成人h片视频| 99久久99久久综合| 国产精品性做久久久久久| 琪琪一区二区三区| 免费观看在线综合| 国产99一区视频免费| 九九在线精品视频| 日韩中文字幕av电影| 成人听书哪个软件好| 激情文学综合丁香| 日日夜夜精品视频天天综合网| 国产麻豆精品一区二区| 日本最新不卡在线| 成人晚上爱看视频| 国产精品影视在线| 久久国产三级精品| 91毛片在线观看| 成人aa视频在线观看| 国产精品1区二区.| 国产一区二区在线观看免费 | 老司机免费视频一区二区三区| 不卡av免费在线观看| 国产精品亚洲一区二区三区妖精 | 丁香婷婷深情五月亚洲| 精品亚洲免费视频| 男人的天堂久久精品| 91蝌蚪porny九色| 不卡av免费在线观看| 懂色av一区二区夜夜嗨| 国产成人综合视频| 国产在线视频不卡二| 另类小说视频一区二区| 欧美aa在线视频| 日韩国产欧美三级| 日韩成人一区二区| 日韩av一级片| 奇米888四色在线精品| 日本麻豆一区二区三区视频| 日韩成人一级大片| 毛片av一区二区| 久久精品国产久精国产| 久草精品在线观看| 国内精品免费在线观看| 国产一区二区免费看| 国产乱子轮精品视频| 国产伦理精品不卡| 国产精品资源网站| 成人精品鲁一区一区二区| aaa国产一区| 日韩精品一级中文字幕精品视频免费观看 | 91在线观看免费视频| 爽好久久久欧美精品| 欧美bbbbb| 国产一区中文字幕| 成人综合在线视频| 日日骚欧美日韩| 精彩视频一区二区| 国产suv精品一区二区三区|