2014-10-29 1 views
-1

, если по электронной почте существует функция проверки, я хочу, чтобы отображалась ошибкаКак я это делаю Если подтверждение по функции в MVC5

как я это делаю?

[RequiredIf(BL.datafuncs.checkIfExist(email) == true, ErrorMessage = "email already exist")] 

public string email { get; set; } 
+0

Что вы здесь делаете? Похоже, что вам нужен атрибут '[Remote]', который проверяет, существует ли в базе данных письмо и отображает ошибку, если это так. Это не то, что '[RequiredIf]' для –

ответ

0

Пользовательские атрибуты встроены в сборку, они не работают времени вещи, так что вы никогда не можете поместить функцию внутри аргумента атрибута. Я предлагаю вам проверить ваш вызов контроллера и выполнить некоторые действия соответственно

2

Атрибут RequiredIf предназначен для проверки свойства, которое требуется на основании значения другого свойства. Например, если модель содержит свойства bool NotifyMeByEmail и string EmailAddess, тогда вы можете применить ее следующим образом.

public bool NotifyMeByEmail { get; set; } 

[RequiredIf("NotifyMeByEmail", ErrorMessage = "Please enter you email address")] 
public string EmailAddress { get; set; } 

Тогда в представлении, если флажок для NotifyMeByEmail не установлен, то ошибка проверки генерируется для EmailAddress.

Похоже, что вы действительно хотите проверить ввод электронной почты пользователем, еще не существующий в его базе данных, и в этом случае вам нужен атрибут [Remote] (стандартный MVC, не надежный). How to: Implement Remote Validation in ASP.NET MVC

Смежные вопросы