Имам клас атрибути за валидиране, който изпълнява сървърна страна, която проверява текстово поле на формуляр. Също така го внедрих от страна на клиента в извикване на javascript. Въпросът ми е, ако клиентската страна бъде извикана и върне true, трябва ли да се извика и сървърната страна? Трябва ли да се извикат както страната на клиента, така и страната на сървъра? Изглежда, че ако проверката от страна на клиента премине, тогава няма да има нужда да извиквате отново какъвто и да е вид проверка от страна на сървъра. Просто изглежда малко излишно да проверявате нещо два пъти.
asp.net mvc 5 трябва да се изпълнява проверка от страна на сървъра, ако страната на клиента се изпълнява първа
Отговори (3)
Валидирането от страна на клиента е за удобство. Валидирането от страна на сървъра е истинското валидиране. Така или иначе никога не трябва да се доверявате на клиента, така че във всеки случай трябва да стартирате валидирането от страна на сървъра.
Да, абсолютно трябва.
Причината е, защото какво ще стане, ако някой заобиколи вашия уебсайт и направи обаждания директно към вашия сървър? Ами ако се опитат да въведат лоши данни, за да разбият сайта ви? Без валидирането от страна на сървъра също оставате незащитени.
Причината за валидирането от страна на клиента е, за да можете бързо да предоставите обратна връзка на потребителя, за да поправите грешки, вероятно дори докато пишат, без да се нуждаят от обратни съобщения.
Причината за валидирането от страна на сървъра е да се осигури по-сложно валидиране, което може да включва справки в базата данни и най-важното да защити вашия сървър от злонамерени потребители.
Валидирането от страна на клиента е просто начин за намаляване на работната сила на вашия сървър, защото щом валидирането от страна на клиента е вярно, то ще бъде вярно и в приложението от страна на сървъра. понякога хората може да заобиколят валидирането от страна на клиента, което вашето валидиране от страна на сървъра ще ви помогне за това. Най-добре е винаги да правите валидиране от страна на сървъра, но само за да намалите заявките към вашия сървър през цялото време за валидиране, клиент-сървърът може да ви помогне да потвърдите първо, преди заявката да отиде до сървъра и ако е невярна, няма заявка да отиде към страната на сървъра.