Я использую раму struts 2 и пытаюсь понять, как лучше всего проверить наличие идентификатора пользователя в базе данных.
В моем последнем проекте я сделал это с jquery ajax, но не был удовлетворен этим.
В этом проекте я использую систему проверки для проверки на стороне сервера для полей ввода и плагина проверки подлинности jquery на стороне клиента.
У меня есть класс DAO, который заставляет вызов БД выполнять проверки на существование, я не хочу использовать jquery ajax, но предпочел бы использовать фреймворк struts 2.
Является ли это тем, как я могу использовать свой вывод этого класса DAO и объединить его с моим XML-анализом с использованием выражения поля или с помощью метода проверки? если я использую метод проверки? каков порядок выполнения этого метода, сравнивается с исполнением класса действия? Я хочу, чтобы порядок в этом формате, сначала я проверяю на стороне клиента, а затем на стороне сервера с проверкой, а затем только один раз, когда серверная часть завершена, мне нужно инициировать проверку существования пользователя, а затем, наконец, вставить в БД?
Файл проверки действий для поля - это что-то вроде ниже,
<field name="Email">
<field-validator type="requiredstring">
<message>Email is required</message>
</field-validator>
<field-validator type="email">
<message>Please enter valid email id</message>
</field-validator>
Теперь мне нужно проверить, существует ли электронная почта в db, поэтому для этого у меня есть класс DAO, который возвращает true или false, как добавить подтверждение из класса dao?
Вы можете добавить в поле проверки правильности выражения. Значение, возвращаемое DAO, должно быть помещено в стек значений. Это легко, если вы создаете геттер в классе действия и возвращаете значение.
класс действия:
public boolean getMyBoolean(){
return myDAO.getMyboolean();
}
-validation.xml:
<field name="Email">
<field-validator type="requiredstring">
<message>Email is required</message>
</field-validator>
<field-validator type="email">
<message>Please enter valid email id</message>
</field-validator>
<field-validator type="fieldexpression">
<param name="expression"><![CDATA[myBoolean == false]]></param>
<message>email exists in db</message>
</field-validator>
</field>