Является ли проверка JSF клиентской или серверной частью? - PullRequest
13 голосов
/ 25 октября 2010

Я реализовал свою логику проверки следующим образом:

        <h:inputText id="title" value="#{...}" 
            required="true" requiredMessage="...some..text..." 
            validatorMessage="...some..other..text..." >
            <f:validateLength minimum="10" maximum="50"/>
        </h:inputText>

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

Может кто-нибудь объяснить, что: -)

Приветствия

1 Ответ

30 голосов
/ 25 октября 2010

При проверке на стороне клиента именно клиент (веб-браузер) проверяет ввод с помощью языка на стороне клиента, например, JavaScript. При проверке на стороне сервера именно сервер (веб-сервер) проверяет ввод с помощью языка на стороне сервера, например, Джава.

Вы никогда не должны выполнять только проверку на стороне клиента, потому что конечный пользователь может контролировать (и, следовательно, взламывать / подделывать) результат. Обычно вы хотели бы использовать проверку на стороне клиента, потому что она дает гораздо более раннюю обратную связь. Конечный пользователь не должен ждать завершения отправки формы и не должен сталкиваться с «вспышкой содержимого» (страница отключается, а затем снова отображается с новым содержимым). Вы хотите использовать проверку на стороне сервера для обеспечения целостности представленных данных. Конечный пользователь никоим образом не контролирует результаты проверки на стороне сервера.

В случае JSF проверка выполняется всегда на стороне сервера. Начиная с JSF 2.0 можно отправлять форму (и, следовательно, также проверять форму), используя встроенную функциональность Ajaxical. Это сочетает в себе лучшее из двух миров: наличие мгновенной обратной связи без флэш-содержимого и надежность / целостность проверки на стороне сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...