2013-09-06 2 views
2

Я работаю над ASP.NET MVC4 с помощью Razor, используя первое подключение к платформе Entity Framework. У меня есть форма входа, созданная с нуля, которая запрашивает имя пользователя, пароль и пользовательский тип. К сожалению, форма может размещаться, даже если поля пустые, что приводит к тому, что выбрасывается исключение.Проверка в приложении Framework-Entity Entity

Поскольку я напрямую привязываюсь к своей базе данных с помощью модели вместо использования классов в папке «Модели», у меня нет способа применения DataAnnotations. Есть ли другой способ принудительного подтверждения формы, чтобы избежать отправки нулевых значений?

ответ

1

Поскольку вы не можете использовать атрибут [Required], вероятно, вы захотите использовать проверку на стороне клиента. Если вы используете HTML5 вы можете пометить поля как required, вы могли бы сделать пользовательский помощник для вывода что-то вроде следующего:

<input id="username" type="text" required /> 

Как показано здесь (Без вспомогательного метода):

http://jsfiddle.net/ck4dL/

Вы также можете подтвердить ввод пользователя с помощью JavaScript вручную.

<input id="username" type="text" /> 
<button id="submitx" onclick="validate()">Click</button> 

function validate() { 
    var username = document.getElementById("username"); 
    alert(username.value); 
    if (username.value === "") { 
     alert('Please fill in the username field'); 
    } 
} 

Или использовать скомпилированную библиотеку, такие как jQuery validate

В качестве дополнительной записке, было бы лучше, чтобы проверить эти поля на уровне сервера также. У ваших пользователей может быть отключен JavaScript или может преднамеренно отправить неверную информацию.

1

На мой взгляд, то, что вы делаете в целом, ошибочно и рассчитывает только на проверку на стороне клиента, не является хорошим подходом, поскольку это зависит от клиентской стороны, в MVC, модели слишком важны и почему не используют их? кстати, я думаю, вы должны использовать ViewModel для вашего дела

+0

Oh! Я прошу об этом, потому что я уже проверял с помощью Razor. Проблема в том, что Razor не позволяет мне запрещать пользователям отправлять пустые значения (при условии, что я объявил NOT NULL оба поля). Потому что это единственное исключение, с которым я не могу напрямую обращаться Я ищу лучшее решение – Angelmenam

+2

вам нужна модель просмотра! –