2015-10-15 2 views
0

Мне нужно проверить форму только при нажатии кнопки отправки и представлении сообщений об ошибках на основе свойств DataAnnotation.MVC Dataannotations - валидация только в форме Отправить

ViewModel:

[Required(ErrorMessage = "Field Required")] 
[RegularExpression(@"^.{5,}$", ErrorMessage = "Message is to short")] 
public string Message { get; set; } 

HTML:

@Html.TextAreaFor(m => m.Message) 
@Html.ValidationMessageFor(m => m.Message) 

Что происходит, что когда я отправить форму с пустым сообщение, я получаю сообщение «Обязательное поле», но когда я начинаю писать в поле сообщение об ошибке изменится на «Сообщение будет коротким», но я хочу только это, когда снова нажимаю кнопку отправки.

+1

Вы хотите что-то ищите? http://stackoverflow.com/questions/8022695/asp-net-mvc-3-jquery-validation-disable-unobtrusive-onkeyup – Diego

ответ

1
// Disable keyup validation on key up 
var validator = $("#yourFormId").data("validator"); 
if (validator) 
    validator.settings.onkeyup = false; 
+0

Привет! Он отлично работает! просто еще один вопрос, как вы думаете, можно ли удалить сообщение об ошибке из поля, только когда после показа ошибки при отправке я впервые щелкнул по полю? – Patrick

+1

Не знаете, как очистить ошибки конкретного поля, но вы должны работать над ним в событии 'focus' (или' click'). – Diego

+0

Хорошо, спасибо вам большое за вашу помощь;) – Patrick