Как я могу использовать проверку полей зависимостей в MVC3 - PullRequest
0 голосов
/ 01 ноября 2011

Я использую атрибут проверки в полях класса и имеет такое требование: если поле 'a' проверяется успешно, обработайте проверку поля 'b', но если поле 'a' не является проверкой броска, игнорируйте проверку поля 'b'.
это возможно или я должен думать по-другому?

public class myclass
{
[required]
public string a{get;set;}
[required]
public string b{get;set;]
}

я хочу: 1. если пройти валидацию, то выполнить валидацию b 2.Если a не проходит проверку, то не выполняет проверку b

Ответы [ 2 ]

2 голосов
/ 01 ноября 2011

Проверьте MVC.ValidationToolkit

http://blogs.msdn.com/b/simonince/archive/2011/09/29/mvc-validationtookit-alpha-release-conditional-validation-with-mvc-3.aspx

Содержит эти две проверки, которые помогут вам.

  • RequiredIfAttribute.Этот атрибут говорит: «это поле обязательно, если какое-то другое поле имеет значение X».Он используется как [RequiredIf («OtherField», «TargetValue»)]
  • RequiredEmptyIfAttribute.Этот атрибут говорит: «это поле должно быть пустым, если какое-то другое поле имеет значение X».Он используется как [RequiredEmptyIf («OtherField», «TargetValue»)]
0 голосов
/ 09 ноября 2011

Реализуйте интерфейс IValidateableObject в вашей модели, чтобы он содержал вашу собственную логику проверки. Поскольку вы не можете применять проверки достоверности так, как вы просили, вам нужно прибегнуть к собственной проверке. Я не думаю, что предложение Майкла) (хотя и хорошее) сработает, если вам действительно нужно сказать «только если это действительно так, подтвердите что-то еще» через атрибуты, но это легко сделать через этот интерфейс. Однако учтите, что это будет только проверка на стороне сервера, если только вы не захотите написать свою собственную клиентскую часть для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...