2010-12-28 6 views
3

내가 눈에 잘 띄지 않는 자바 스크립트로 dropdownlist를 확인할 수있는 방법은 무엇입니까? 필요한 유효성 검사기에 대한 유효성 검사 텍스트 박스로서, 그러나 드롭 다운리스트에 대해 작동하지 않는가?asp.net mvc jquery 드롭 다운 유효성 검사

눈에 거슬리는 js 파일을 변경해야합니까? 또는 dropdownlist를 확인하는 다른 옵션이 있습니까?

내 자바 스크립트에서 form.validate()를 검사 할 때 오류를 표시하려고합니다.

답변

0

마크 업

<p> 
     <label for="ProductCategoryList">Product Categories</label> 
     <%= Html.DropDownList("ProductCategoryList", ViewData["ProductCategories"] as SelectList)%> 
    </p> 

그리고 검증 스크립트를

 $.validator.addMethod("selectNone", 
      function (value, element) { 
       return this.optional(element) || element.selectedIndex != 0; 
      }, 
      "Please select an option." 
     ); 


     $(function() { 
      $("#form1").validate({ 
       rules: { 
        ProductCategoryList: { 
         selectNone: true 
        } 

       }, 
       messages: { 
        ProductCategoryList: { 
         selectNone: "This field is required" 
        } 
       } 
      }); 
     }); 
1
$(function() { 
     $("#form1").validate({ 
      rules: { 
       ProductCategoryList: { 
        required: true 
       } 

      }, 
      messages: { 
       ProductCategoryList: { 
        required: "This field is required" 
       } 
      } 
     }); 
    }); 
+0

이 방법으로 충분합니다 ... 추가 방법을 추가 할 필요가 없습니다 ... – yogee

0

DropDownList의 selecteditem에 바인딩하는 데 사용되는 Viewmodel에 속성을 만들어서이 작업을 수행했습니다. 예는 명확하게됩니다

코드를보기에 :

 <div class="editor-field"> 
      @Html.DropDownListFor(model => model.SelectedPlantID, 
           new SelectList(Model.Plants, "Value", "Text"), 
           " ", new { id = "ddlPlant" }) 

      @Html.ValidationMessageFor(model => model.SelectedPlantID) 
    </div> 

뷰 모델의 코드가 (강하게보기로 입력)됩니다

  private List<SelectListItem> _plants = new List<SelectListItem>(); 
    [Required] 
    [Display(Name = "Plant")] 
    public List<SelectListItem> Plants 
    { 
     get 
     { 
      return (_plants); 
     } 

     set 
     { 
      _plants = value; 
     } 
    } 

    public Guid SelectedPlantID 
    { 
     get; 
     set; 
    } 

참고하십시오 SelectedPlantID를 모델의 필드가 될 필요는 없습니다.

희망이 당신을 위해!

+0

드롭 다운 목록에서 선택한 옵션이 공백 ("")으로 설정되어 있습니다. – PreethaA

0

작동하려면 첫 번째 옵션 인 value=""을 그대로 두어야합니다. 당신이 검증 jQuery를 통합하려는 경우

<asp:ListItem Value="">- Select Something -</asp:ListItem> 
0

당신은 '목록 필드와 같은 이름을 가진 경우하지 DropDownList

@Html.DropDownListFor(c => c.Profile_Id, null, "-- Choose --", new { @class = "input-large" }) 

, 당신은 돈 분야

을 사용 DropDownListFor를 지정해야 목록에 null 값을 보내는 경우 편집 시나리오에서 작동하지 않으므로 ViewBag.Profile_Is as SelectList을 입력해야합니다.