Как я это делаю Требуется, если проверка функцией в MVC5

если электронная почта существует при проверке функции, я хочу отобразить ошибку

как мне это сделать?

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

 public string email { get; set; }

person david    schedule 29.10.2014    source источник
comment
Что вы пытаетесь сделать здесь? Похоже, вам нужен атрибут [Remote], который проверяет, существует ли электронное письмо в базе данных, и отображает ошибку, если это так. [RequiredIf] не для этого   -  person    schedule 29.10.2014


Ответы (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, а не надежный). Как реализовать удаленную проверку в ASP.NET MVC

person Community    schedule 29.10.2014

Пользовательские атрибуты встроены в сборку, они не используются во время выполнения, поэтому вы НИКОГДА не можете помещать функцию в аргумент атрибута. Я бы посоветовал вам проверить вызов вашего контроллера и выполнить какое-то действие соответственно.

person Steve    schedule 29.10.2014