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

Validation

Provide valuable, actionable feedback to your users with HTML5 form validation, via browser default behaviors or custom styles and JavaScript.

We are aware that currently the client-side custom validation styles and tooltips are not accessible, since they are not exposed to assistive technologies. While we work on a solution, we’d recommend either using the server-side option or the default browser validation method.

How it works

Here’s how form validation works with Bootstrap:

  • HTML form validation is applied via CSS’s two pseudo-classes, :invalid and :valid. It applies to <input>, <select>, and <textarea> elements.
  • Bootstrap scopes the :invalid and :valid styles to parent .was-validated class, usually applied to the <form>. Otherwise, any required field without a value shows up as invalid on page load. This way, you may choose when to activate them (typically after form submission is attempted).
  • To reset the appearance of the form (for instance, in the case of dynamic form submissions using AJAX), remove the .was-validated class from the <form> again after submission.
  • As a fallback, .is-invalid and .is-valid classes may be used instead of the pseudo-classes for server-side validation. They do not require a .was-validated parent class.
  • Due to constraints in how CSS works, we cannot (at present) apply styles to a <label> that comes before a form control in the DOM without the help of custom JavaScript.
  • All modern browsers support the constraint validation API, a series of JavaScript methods for validating form controls.
  • Feedback messages may utilize the browser defaults (different for each browser, and unstylable via CSS) or our custom feedback styles with additional HTML and CSS.
  • You may provide custom validity messages with setCustomValidity in JavaScript.

With that in mind, consider the following demos for our custom form validation styles, optional server-side classes, and browser defaults.

Custom styles

For custom Bootstrap form validation messages, you’ll need to add the novalidate boolean attribute to your <form>. This disables the browser default feedback tooltips, but still provides access to the form validation APIs in JavaScript. Try to submit the form below; our JavaScript will intercept the submit button and relay feedback to you. When attempting to submit, you’ll see the :invalid and :valid styles applied to your form controls.

Custom feedback styles apply custom colors, borders, focus styles, and background icons to better communicate feedback. Background icons for <select>s are only available with .form-select, and not .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)
})
})()

Browser defaults

Not interested in custom validation feedback messages or writing JavaScript to change form behaviors? All good, you can use the browser defaults. Try submitting the form below. Depending on your browser and OS, you’ll see a slightly different style of feedback.

While these feedback styles cannot be styled with CSS, you can still customize the feedback text through 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>

Server side

We recommend using client-side validation, but in case you require server-side validation, you can indicate invalid and valid form fields with .is-invalid and .is-valid. Note that .invalid-feedback is also supported with these classes.

For invalid fields, ensure that the invalid feedback/error message is associated with the relevant form field using aria-describedby (noting that this attribute allows more than one id to be referenced, in case the field already points to additional form text).

To fix issues with border radii, input groups require an additional .has-validation class.

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>

Supported elements

Validation styles are available for the following form controls and components:

  • <input>s and <textarea>s with .form-control (including up to one .form-control in input groups)
  • <select>s with .form-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>

Tooltips

If your form layout allows it, you can swap the .{valid|invalid}-feedback classes for .{valid|invalid}-tooltip classes to display validation feedback in a styled tooltip. Be sure to have a parent with position: relative on it for tooltip positioning. In the example below, our column classes have this already, but your project may require an alternative setup.

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;">

          欧美一卡二卡三卡四卡| 成人欧美一区二区三区1314 | 成人午夜私人影院| 欧美国产日韩亚洲一区| 成人av综合一区| 一区二区日韩电影| 日韩色视频在线观看| 成人免费视频免费观看| 亚洲超碰97人人做人人爱| 日韩精品最新网址| av成人免费在线观看| 午夜精品在线看| 中文av字幕一区| 51精品视频一区二区三区| 丁香激情综合国产| 日韩二区在线观看| 国产精品久久免费看| 欧美精品久久99久久在免费线| 国产精品自拍网站| 亚洲成av人片在线观看| 精品国产伦一区二区三区观看方式| 波多野洁衣一区| 免费精品99久久国产综合精品| 国产精品久久久久久亚洲毛片 | 国产婷婷色一区二区三区四区 | 综合亚洲深深色噜噜狠狠网站| 欧美三级视频在线观看| 国产精品一区二区果冻传媒| 亚洲一区二区中文在线| 日本一区二区在线不卡| 欧美精品三级日韩久久| 91视频免费观看| 成人在线视频首页| 久久97超碰色| 日本美女视频一区二区| 亚洲国产一区二区三区青草影视| 成人欧美一区二区三区白人| 久久精品免视看| 欧美精品一区二区高清在线观看| 欧美色网站导航| 日本久久精品电影| 色综合色综合色综合色综合色综合| 国产呦精品一区二区三区网站| 日本不卡的三区四区五区| 亚洲成人1区2区| 五月天欧美精品| 亚洲高清免费在线| 亚洲成人动漫av| 天天影视色香欲综合网老头| 亚洲午夜精品在线| 亚洲18女电影在线观看| 午夜免费欧美电影| 亚洲成人激情自拍| 日韩国产高清在线| 蜜桃精品视频在线| 国产曰批免费观看久久久| 国内一区二区在线| 国产成人午夜精品影院观看视频 | 国产精品女主播av| 久久在线观看免费| 日本一区二区三区四区在线视频| 国产欧美综合色| 亚洲欧美在线视频| 亚洲免费在线看| 丝瓜av网站精品一区二区 | 日韩美女久久久| 亚洲色图欧美激情| 亚洲一级二级在线| 九色综合狠狠综合久久| 国产成人小视频| 色吧成人激情小说| 欧美一卡二卡在线| 国产精品无圣光一区二区| 欧美一区二区视频观看视频| 麻豆久久久久久久| 日韩综合在线视频| 日本人妖一区二区| 91免费版在线| 精品视频一区二区三区免费| 欧美精品在线视频| 国产肉丝袜一区二区| 亚洲精品综合在线| 美日韩一级片在线观看| 成人免费看视频| 日韩一二在线观看| 国产精品国产三级国产有无不卡| 亚洲视频资源在线| 亚洲国产一区二区三区| 美女看a上一区| 日本韩国精品在线| 欧美大片在线观看一区二区| 国产精品国产a级| 蜜桃免费网站一区二区三区| av激情亚洲男人天堂| 欧美日韩亚洲综合| 久久这里只有精品6| 亚洲va欧美va国产va天堂影院| 紧缚奴在线一区二区三区| 91免费看片在线观看| 精品国产一区久久| 亚洲成av人**亚洲成av**| 成人午夜激情在线| 日韩视频免费观看高清完整版在线观看| 欧美激情一区三区| 经典三级视频一区| 欧美一区二区在线不卡| **欧美大码日韩| 丰满少妇久久久久久久| 日韩欧美一级二级三级| 天天射综合影视| 一本色道久久综合亚洲精品按摩| 久久精品在线免费观看| 紧缚捆绑精品一区二区| 日韩一区二区免费高清| 亚洲成a人片在线不卡一二三区| 波多野结衣精品在线| 久久久久久久久久久久电影| 久久99在线观看| 欧美一级专区免费大片| 午夜电影网亚洲视频| 91官网在线免费观看| 夜色激情一区二区| 色婷婷综合久久久久中文一区二区| 国产精品久久久久精k8| av午夜精品一区二区三区| 成人欧美一区二区三区1314| 不卡电影一区二区三区| 综合在线观看色| 在线观看一区不卡| 亚洲国产va精品久久久不卡综合| 欧美日韩精品一区视频| 日韩在线一区二区三区| 日韩一区二区三区精品视频| 老司机一区二区| 日韩你懂的电影在线观看| 黄页视频在线91| 久久人人爽爽爽人久久久| 国产成人精品免费一区二区| 国产精品私人自拍| 色婷婷亚洲综合| 日韩 欧美一区二区三区| 精品日韩av一区二区| 国产精品一卡二| 亚洲少妇30p| 欧美日韩亚洲国产综合| 六月丁香婷婷色狠狠久久| 国产欧美一区视频| 91一区二区在线| 男人的j进女人的j一区| 中文字幕欧美国产| 欧美午夜理伦三级在线观看| 美女免费视频一区二区| 国产精品欧美经典| 欧美精品粉嫩高潮一区二区| 国产成人在线视频网站| 亚洲最快最全在线视频| 日韩免费性生活视频播放| 成人少妇影院yyyy| 日韩国产精品久久| 欧美国产综合一区二区| 欧美精品丝袜久久久中文字幕| 国产精品香蕉一区二区三区| 亚洲国产三级在线| 中文字幕免费不卡| 欧美一级在线观看| 色爱区综合激月婷婷| 国产盗摄视频一区二区三区| 婷婷中文字幕综合| 国产日韩精品一区二区三区在线| 欧美日韩中文一区| 懂色av中文一区二区三区| 日韩综合一区二区| 亚洲品质自拍视频| 久久精品一区蜜桃臀影院| 777亚洲妇女| 欧美性猛交xxxxxx富婆| 懂色av一区二区三区免费看| 美国十次综合导航| 五月婷婷综合在线| 亚洲综合一区二区三区| 亚洲欧洲国产专区| 久久麻豆一区二区| 日韩女优av电影在线观看| 欧美三级中文字幕| 色噜噜狠狠色综合中国| 岛国精品在线播放| 国产福利一区在线观看| 国产一区二区免费视频| 久久精品国产亚洲高清剧情介绍| 亚洲第一福利一区| 亚洲成人av免费| 午夜精品在线视频一区| 亚洲小说欧美激情另类| 亚洲欧美日韩中文字幕一区二区三区 | 在线观看欧美日本| 成人丝袜视频网| 成人国产免费视频| 91亚洲精品一区二区乱码| 国产精品亚洲一区二区三区妖精| 狠狠色丁香久久婷婷综合丁香|