170 похожих чатов

Доброго времени суток, я научился делать валидацию модели на предмет

пустых полей. А как правильно делать валидацию на предмет не правильного логина или пароля? Куда копать?

15 ответов

17 просмотров

Если аттрибутами, то для строковых форматов есть DataFormatString

Алан-Вербило Автор вопроса
Danil S
Если аттрибутами, то для строковых форматов есть D...

да нет, именно выводить сообщение что логин или пароль не верны. Включая запрос в базу/identity

Danil S
Проверяйте этот флаг - ModelState.IsValid

И далее делайте все что вам душе угодно

Danil S
Проверяйте этот флаг - ModelState.IsValid

https://docs.microsoft.com/en-us/dotnet/api/system.web.mvc.modelstate?view=aspnet-mvc-5.2

Алан-Вербило Автор вопроса
Danil S
И далее делайте все что вам душе угодно

Ну смотрите, знаю есть способ 1. Создается метод действия "isEmailInUse" куда с помощью JQuery отправляется Ajax запрос. Но этот способ мне не очень нравится из-за JQuery. А можно создать свой ValidationAttribute класс и делать проверку в нем. А может есть еще способы о которых я не знаю. Потому и спросил

Алан Вербило
Ну смотрите, знаю есть способ 1. Создается метод д...

У вас в экшене контроллера есть забинденная моделька, ее вы и валидируете и https://t.me/DotNetRuChat/1023555

Алан-Вербило Автор вопроса
Danil S
У вас в экшене контроллера есть забинденная модель...

Спасибо за ответ. Однако хочу уточнить почему вы советуете делать валидацию именно в методе контроллера, а не в кастомном ValidationAttribute?

Алан Вербило
Спасибо за ответ. Однако хочу уточнить почему вы с...

Эта валидация вообще не должна делаться в веб приложении. То о чем вы говорите относится к какому-нибудь юзер менеджеру, который должен быть в абсолютно отличном от веба слое, там и должна быть эта валидация

Алан-Вербило Автор вопроса
Ярослав Порываев
Эта валидация вообще не должна делаться в веб прил...

Под веб приложением вы подразумеваете фронтенд браузера? Как я понимаю что в методе действия контроллера, что в своем собственном атрибуте валидации, это все уже на стороне сервера происходит

Алан Вербило
Ну смотрите, знаю есть способ 1. Создается метод д...

Проверять почту/логин до отправки формы это хорошая практика, а юзать jquery/ajax не обязательно. Если у тебя сложности с составлением запросов на голом js, то можно создать/импортировать в postman запрос и конвертировать его в js

Алан Вербило
Спасибо за ответ. Однако хочу уточнить почему вы с...

Если говорить грубо, то вы валидируете в момент, когда моделька вам попадает в экшен, атрибуты - это лишь средство описания контракта для полей, так что как вы собираетесь валидировать в атрибуте - не очень ясно

Алан-Вербило Автор вопроса
Danil S
Если говорить грубо, то вы валидируете в момент, к...

вот к примеру так можно валидировать (подсмотрел у одного индуса на ютубе)

Алан Вербило
screenshot вот к примеру так можно валидировать (подсмотрел у...

Это уже не актуально, эту информацию и так модел билдер знает

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта