Я преобразовываю сайт из asp.net mvc 2 в asp.net mvc 3. Я хочу использовать встроенную проверку в mvc 3, которая использует jquery.validate и jquery.validate.unobtrusive. Однако на моем старом сайте я уже использовал jquery.validate и добавил собственный метод для проверки, который я затем вызвал бы при изменении раскрывающегося списка.
Мне нужно уметь:
- Зарегистрируйте этот метод.
- Звоните только при изменении выпадающего списка.
Вот мой код для этого на моем сайте asp.net 2.
//add class to the html element
$("#ClientId-input").addClass("validClient");
//create the method "validClient"
$.validator.addMethod("validClient", function(value, element) {
//get the actual value in the input box
var _value = $("#ClientId").data('tComboBox').value();
//get all the items in the list
var _items = $("#ClientId").data('tComboBox').data;
//set the value to return
var _retVal = false;
//loop through the items if the selected value equals a value we are valid
$.each(_items, function(index, value)
{
if(value.Value == _value){
_retVal = true;
//return false in the loop to break.
return false;
}
});
return _retVal;
}, "Please choose a Client from the list.");
//Assign the rule to the validator
$.validator.addClassRules({
validClient:{validClient:true}
});
//this is called when dropdownchanges
function ClientsChanged(e)
{
if($("#ClientId-input").valid())
{
//do work here
}
}