我需要为MVC中的下拉列表添加一个条件子句,用于必需的字段验证。我尝试使用自定义验证,但它似乎不起作用。
我需要检查旅行类型下拉菜单是否选择为“选择旅行”,然后必须启动所需的验证。
我在旅行类型属性的旅行模型中设置了必需的字段属性。
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的新手,如果遗漏了某些内容,请告诉我。
答案 0 :(得分: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验证器。