Jquery validate делает одно поле обязательным, если другое поле не пустоJquery

Программирование на jquery
Ответить
Anonymous
 Jquery validate делает одно поле обязательным, если другое поле не пусто

Сообщение Anonymous »

У меня возникли проблемы с jQuery.validate 1.11, .Net 4.8 и MVC 5 с Razor.
В моем классе есть эти два свойства:

Код: Выделить всё

[StringLength(500, ErrorMessage = "{0} can have a max of {1} characters")]
public string MyProperty { get; set; }

[StringLength(100, ErrorMessage = "{0} can have a max of {1} characters")]
public string MyOtherProperty { get; set; }
И на моей странице Razor у меня есть это:

Код: Выделить всё

@Html.TextBoxFor( m => m.MyProperty )
@Html.TextBoxFor( m => m.MyOtherProperty  )

@using (Html.BeginScripts()) {


$(function () {
MyScriptModule.Init();
}); // end of document.ready

}
И тогда мой файл Javascript выглядит следующим образом:

Код: Выделить всё

var $form = $("#MyForm");
var $submit = $("#Save");

var MyScriptModule = (function () {

var init = function () {

$submit.bind("click", function () {
HandleSubmitLogic();
});

// Initialize form validation
$form.validate({
ignore: [],
rules: {
MyOtherProperty: {
required: function (element) {
return $("#MyProperty").val().length > 0;
}
}
},
errorPlacement: function (error, element) {
error.appendTo(element.parent());
},
});

}; // end init

function HandleSubmitLogic() {

$submit.prop("disabled", true);
ResetFormValidation($form);
$form.validate();
if ($form.valid()) {
$form.submit();
}
$submit.prop("disabled", false);
}
}
Итак, проверка длины срабатывает, как и ожидалось, но я не могу заставить работать это правило, где MyOtherProperty требуется, ЕСЛИ MyProperty имеет значение. Я получил это по другой ссылке на StackOverflow здесь, и, похоже, это соответствует онлайн-документации здесь.
Так что же я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/787 ... -not-empty
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»