2013-10-15 94 views
0

我需要爲MVC中的下拉列表中的必填字段驗證添加一個條件子句。我試圖使用自定義驗證,但它似乎並沒有工作。在JQuery中使用條件所需的字段驗證

我需要檢查旅行類型下拉是否選擇爲「選擇旅行」,然後需要驗證應該觸發。

我已經在旅行類型屬性的旅行模型中設置了必填字段屬性。

CSHTML:

<td>@Html.ValidationMessageFor(m => m.Travel.TravelType)</td> 

JQuery的:

$travelType = $("#travel"); 
     jQuery.validator.addMethod("TravelType", 
       function() { 
        if ($travelType.val() == "Select Travel" || $vehicleType.val() == null) 
         return false; 

        $("#travel").rules("add", "TravelType"); 
       }); 

我是新來的JQuery,請讓我知道如果失去了一些東西。

回答

2
jQuery.validator.addMethod("TravelType", function (value, element, param) { 
        // return true if valid, false if not 
     return $("#travel").val() && $("#travel").val() != "Select Travel"; 
    }); 
jQuery.validator.unobtrusive.adapters.addBool("TravelType"); 

這裏是一個如何實現它的例子。代碼中的一個錯誤是,如果從列表中選擇一個值,嵌套函數將不會返回true。

編輯:

return value && value != "Select Travel"; 

,以更好地利用jQuery的驗證器。