비활성화 된 선택 요소에서 클라이언트 측 유효성 검사 활성화

검은 연꽃

asp.net core 3.1 MVC를 사용하는 프로젝트가 있습니다. 선택이 비활성화 된 양식이 포함되어 있습니다.

    <div class="col-12 mb-3">
        <select asp-for="SelectableItem" class="multi-select form-control" id="selectedItem" disabled="disabled" required="required">
            <option value="">-- Select Item --</option>
        </select>
        <span asp-validation-for="SelectableItems" class="text-danger"></span>
    </div>

완전히 렌더링 된 HTML

<select class="multi-select form-control" id="selectedItem" disabled="" required="required" 
    data-val="true" data-val-required="Selected Item is required" 
    name="SelectedItem">          
     <option value="">-- Select Item --</option>
</select>

이 선택은 사용자가 확인란을 선택한 다음 선택 요소를 채우고 활성화 할 때까지 비활성화됩니다. 컨텐츠가 와트에 따라 달라짐 확인란이 선택 되었기 때문입니다.

사용자가 양식을 제출하려고 할 때 JQuery.Validation.Unobtrusive의 유효성 검사는 해당 필드가 필요하기 때문에 비활성화 된 필드를 제외한 모든 유효성을 검사하지만 유효성도 검사하고 싶습니다.

해당 양식에 대해서만 활성화하기를 원하므로 응용 프로그램 전체에서 비활성화 된 모든 요소가 작동하지 않는 것 같습니다.

나는 다음과 몇 가지 변형을 시도했습니다.

$('form').validator.setDefaults({ignore: null})

$('form').data('validator').settings.ignore = "";

$('form').validator.setDefaults({ignore: []})

$('#selectableItem').Validate().settings.not('[disabled]')

이것들 중 아무것도하지 않는 것 같고 비활성화 된 선택은 유효성 검사를 거부하며 읽기 전용과 같은 다른 모든 제안은 선택 요소에서 작동하지 않으며 다른 양식을 엉망으로 만들 수 있으므로 전역 적으로 허용되기를 원하지 않습니다.

레나

비활성화 된 모든 양식 필드의 유효성을 검사하려는 경우 플러그인의 관련 행은 다음과 같습니다.

.not( ":submit, :reset, :image, :disabled" )

다음 단계를 따르십시오.

1. jquery.validate.js프로젝트에서를 찾습니다 .

여기에 이미지 설명 입력

2. js를 열고 ctrl+ F눌러이 줄에 disabled주석이 포함 된 줄을 찾습니다 (또는 :disabled이 줄에서 제거 할 수 있음 ).

여기에 이미지 설명 입력

3. 기본 asp.net 코어 프로젝트를 사용하는 경우 _ValidationScriptsPartial.cshtml.이 뷰에 대한 참조를 추가하기 때문에 jquery.validate.min.js변경해야합니다. jquery.validate.js(여전히 min.js를 사용하려면 문서 를 읽고 번들 방법을 알아보십시오. 정적 자산 축소) :

<script src="~/lib/jquery-validation/dist/jquery.validate.js"></script> //change here...
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script>

다음은 작동하는 데모입니다.

모델 ( [Required]속성 추가 ) :

public class Test
{
    [Required]       //add this
    public string SelectableItem { get; set; }
}

보기 (제거 required="required") :

@model Test
<form method="post">
    <input type="checkbox" />
    <div class="col-12 mb-3">
        <select asp-for="SelectableItem" class="multi-select form-control" id="selectedItem" disabled="disabled">
            <option value="">-- Select Item --</option>
        </select>
        <span asp-validation-for="SelectableItem" class="text-danger"></span>
    </div>
    <input type="submit" value="Create" />
</form>

@section Scripts
{
    @{await Html.RenderPartialAsync("_ValidationScriptsPartial");}

    <script>
        $(document).ready(function () {
            $('input:checkbox').change(function () {
                if (this.checked) {
                    //add to select list
                    $("#selectedItem").append($("<option></option>")
                        .attr("value", "1")
                        .text("aa"));
                    $("#selectedItem").append($("<option></option>")
                        .attr("value", "2")
                        .text("bb"));
                    $("#selectedItem").append($("<option></option>")
                        .attr("value", "3")
                        .text("cc"));
                    // $("selectedItem").prop('required', true);
                    $("#selectedItem").removeAttr('disabled');
                }
                else {
                    //remove item from select list
                    $("#selectedItem").empty().append($("<option></option>")
                        .attr("value", "")
                        .text("-- Select Item --"));
                    $("#selectedItem").prop('disabled', true);
                }
            });
        });
    </script>
} 

결과:

여기에 이미지 설명 입력

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

WTForms : 취소시 클라이언트 측 유효성 검사 비활성화

분류에서Dev

MVC 4 제출 버튼에서 클라이언트 측 유효성 검사 비활성화

분류에서Dev

OroCRM 클라이언트 측 유효성 검사를 비활성화하는 방법은 무엇입니까?

분류에서Dev

Yii 2에서 activeform의 클라이언트 측 유효성 검사 메시지를 비활성화하는 방법은 무엇입니까?

분류에서Dev

Angularjs의 클라이언트 측에서 캐싱 비활성화

분류에서Dev

Yii2에서 프런트 엔드 측 유효성 검사를 비활성화하는 방법

분류에서Dev

Wagtail 페이지에서 CSRF 유효성 검사 비활성화

분류에서Dev

클라이언트 측에서 서버 측 유효성 검사 위임

분류에서Dev

next.js의 사용자 정의 _app 구성 요소에서`getInitialProps`를 사용하면 클라이언트 측 렌더링이 비활성화됩니까?

분류에서Dev

비활성화 된 선택 옵션이 기본값으로 선택된 양식은 유효성 검사를 위해 아무것도 보내지 않습니다.

분류에서Dev

값에 따라 선택 비활성화 / 활성화

분류에서Dev

값에 따라 선택 비활성화 / 활성화

분류에서Dev

AngularJS에서 보이지 않는 필드와 비활성화 된 필드의 유효성 검사

분류에서Dev

Django-modelform_factory에서 비활성화 된 필드 유효성 검사

분류에서Dev

클라이언트 측에서 CORS 활성화

분류에서Dev

Windows에서 GTK 3 클라이언트 측 장식 비활성화

분류에서Dev

Eclipse Neon이 비활성화 된 경우에도 발생하는 여러 유효성 검사

분류에서Dev

TypeScript에서 특정 전역 var 선언 검사 비활성화

분류에서Dev

클라이언트 측의 편집 모드에서 동일한 셀 gridview에서 확인란을 선택하면 텍스트 상자 비활성화

분류에서Dev

비활성화 된 html5 입력 텍스트 필드에 대해 html5 유효성 검사를 활성화하는 방법은 무엇입니까?

분류에서Dev

비활성화 된 항목에 대한 Vuetify 양식 유효성 검사

분류에서Dev

div를 비활성화하고 라디오 버튼 옵션이 선택된 경우에만 활성화

분류에서Dev

클라이언트 측에서 jQuery 파일 확장자 유효성 검사

분류에서Dev

이미지 클라이언트 측에 대한 차원 유효성 검사

분류에서Dev

버튼 클릭에 대한 필드 유효성 검사기 활성화 및 비활성화

분류에서Dev

텍스트 선택을 비활성화하고 firefox 40에서 선택 요소 사용

분류에서Dev

jQuery 유효성 검사기, 비활성화 된 <select> 유효성 검사 방법

분류에서Dev

양식의 일부에 대한 클라이언트 측 유효성 검사

분류에서Dev

삽입 된 요소에서 부트 스트랩 날짜 선택기 활성화

Related 관련 기사

  1. 1

    WTForms : 취소시 클라이언트 측 유효성 검사 비활성화

  2. 2

    MVC 4 제출 버튼에서 클라이언트 측 유효성 검사 비활성화

  3. 3

    OroCRM 클라이언트 측 유효성 검사를 비활성화하는 방법은 무엇입니까?

  4. 4

    Yii 2에서 activeform의 클라이언트 측 유효성 검사 메시지를 비활성화하는 방법은 무엇입니까?

  5. 5

    Angularjs의 클라이언트 측에서 캐싱 비활성화

  6. 6

    Yii2에서 프런트 엔드 측 유효성 검사를 비활성화하는 방법

  7. 7

    Wagtail 페이지에서 CSRF 유효성 검사 비활성화

  8. 8

    클라이언트 측에서 서버 측 유효성 검사 위임

  9. 9

    next.js의 사용자 정의 _app 구성 요소에서`getInitialProps`를 사용하면 클라이언트 측 렌더링이 비활성화됩니까?

  10. 10

    비활성화 된 선택 옵션이 기본값으로 선택된 양식은 유효성 검사를 위해 아무것도 보내지 않습니다.

  11. 11

    값에 따라 선택 비활성화 / 활성화

  12. 12

    값에 따라 선택 비활성화 / 활성화

  13. 13

    AngularJS에서 보이지 않는 필드와 비활성화 된 필드의 유효성 검사

  14. 14

    Django-modelform_factory에서 비활성화 된 필드 유효성 검사

  15. 15

    클라이언트 측에서 CORS 활성화

  16. 16

    Windows에서 GTK 3 클라이언트 측 장식 비활성화

  17. 17

    Eclipse Neon이 비활성화 된 경우에도 발생하는 여러 유효성 검사

  18. 18

    TypeScript에서 특정 전역 var 선언 검사 비활성화

  19. 19

    클라이언트 측의 편집 모드에서 동일한 셀 gridview에서 확인란을 선택하면 텍스트 상자 비활성화

  20. 20

    비활성화 된 html5 입력 텍스트 필드에 대해 html5 유효성 검사를 활성화하는 방법은 무엇입니까?

  21. 21

    비활성화 된 항목에 대한 Vuetify 양식 유효성 검사

  22. 22

    div를 비활성화하고 라디오 버튼 옵션이 선택된 경우에만 활성화

  23. 23

    클라이언트 측에서 jQuery 파일 확장자 유효성 검사

  24. 24

    이미지 클라이언트 측에 대한 차원 유효성 검사

  25. 25

    버튼 클릭에 대한 필드 유효성 검사기 활성화 및 비활성화

  26. 26

    텍스트 선택을 비활성화하고 firefox 40에서 선택 요소 사용

  27. 27

    jQuery 유효성 검사기, 비활성화 된 <select> 유효성 검사 방법

  28. 28

    양식의 일부에 대한 클라이언트 측 유효성 검사

  29. 29

    삽입 된 요소에서 부트 스트랩 날짜 선택기 활성화

뜨겁다태그

보관