В последовательных (4) и (5) мы показываем, как связывать данные и как обеспечить правильность данных, которые мы получаем после привязки данных? Это то, о чем мы собираемся поговорить в этой статье -> Проверка данных.
Здесь мы используем Hibernate-Validator для проверки. Хибернат-валидатор реализует структуру проверки JSR-303 для поддержки проверки стиля аннотации. Во -первых, нам нужно загрузить необходимый пакет JAR по адресу http://hibernate.org/validator/. Здесь мы используем 4.3.1.final в качестве демонстрации. После декомпрессии добавьте три пакета Hibernate-Validator-4.3.1.final.jar, JBoss-Logging-3.1.0.jar, Validation-API-1.0.0.GA.JAR в проект.
Настройте файл Springservlet-config.xml в предыдущем проекте, следующим образом:
<!-Поддержка отображения аннотаций по умолчанию-> <MVC: Annotation-управляемый validator = "valyator" конверсион-service = "conversion-service" /> <bean id = "validator"> <name = "valueclass" value = "org.hibernate.validator.hibernatevalidator" /> <!-если не настроен, defaltions insecressmestors. <name = "validationMessagesource" ref = "validatemessageource"/> </bean> <bean id = "конверсион-service"/> <bean id = "validatemessagesource"> <name = "baseName" value = "classPath: validatemessages"/> <Property name = "fileencodings" value = "utf-"/> wome wome = "/> hames"/> "hameSemes"/""/> ""/> ""/""/""/""/"". value = "120"/> </bean>
ClassPath: validatemessages в <name = "baseName" value = "classpath: validatemessages"/> - это файл, в котором расположено сообщение о проверке аннотации, и нам нужно добавить его в папку ресурсов.
Добавьте контент validatecontroller.java в пакете com.demo.web.controllers следующим образом:
пакет com.demo.web.controllers; импорт java.security.nosuchalgorithmexception; импорт javax.validation.valid; импорт org.springframework.stepolype.controller; импорт org.springframework.uodel org.springframework.web.bind.annotation.modelattribut "/validate") public Class validateController {@RequestMapping (value = "/test", method = {requestMethod.get}) public String Test (Model Model) {if (! Model.containSattribute ("ContentModel")) {model.Addattribute ("contentModel", new ValidAteModel ())); } return "validAtetest"; } @RequestMapping (value = "/test", method = {requestMethod.post}) общедоступный тест строки (модель модели, @valid @modelattribut тест (модель); вернуть "ValidatesUccess"; }}@Valid @modelattribute ("contentmodel") validatemodel validatemodel @valid означает проверку после привязки данных с @modelattribute ("contentmodel").
Добавьте контент validatemodel.java в пакете com.demo.web.models следующим образом:
пакет com.demo.web.models; import org.hibernate.validator.constraints.email; import org.hibernate.validator.cestraints.notempty; import org.hibernate.validator.constraints.range; public class valyatemodel {@notempty (сообщение = "{имя. @Range (min = 0, max = 150, message = "{age.not.inrange}") частная строковая возраст; @Notempty (message = "{email.not.empty}") @email (message = "{email.not.correct}") частная строка Email; public void setName (String name) {this.name = name; } public void setage (String Age) {this.age = age; } public void setEmail (string email) {this.email = email; } public String getName () {return this.name; } public String getAge () {return this.age; } public String getEmail () {return this.email; }}Добавьте следующий содержимое в файл, где находится сообщение о проверке аннотации, файл validatemessages.properties:
name.not.empty =/u540d/u79f0/u4e0d/u80fd/u4e3a/u7a7a/u3002age.not.inrange =/u5e74/u9f84/u8d85 /u51fa/u8303/u56f4/u3002email.not.corct=/u90ae/u7bb1/u5730/u5740/u4e0d/u6b63/u786e/u3002em ail.not.empty =/u7535/u5b50/u90ae/u4e0d/u80fd/u60df/u6050/u3002email.not.empty =/u7535/u5b50/u 90ae/U4E0D/U80FD/U6050/U3002EMAIL.NOT.EMPTY =/U7535/U5B50/U90AE/U4E0D/U80FD/U60DF/U6050/U3002
Среди них имя. Следующее содержание вводится в кодирование ASCII, которое автоматически преобразуется на китайском языке. Конечно, вы также можете написать XXX напрямую в качестве приглашенного контента без создания другого файла validatemessages.properties и его добавления. Тем не менее, это неверно, потому что, если вы его жестко кодируете его, вы не сможете интернационализировать его.
Добавьте два представления в папке Views, validatetest.jsp и validatesuccess.jsp, соответственно:
<%@ page language = "java" contentType = "text/html; charset = utf-8" pageencoding = "utf-8"%> <! doctype html public "-// w3c // dtd html 4.01 transitional // en"-// w3c // dtd html 4.01 // en «http://www.w3.org/tr/html4/loose.dtd"><%@ Taglib prefix =" form "uri =" http://www.springframework.org/tags/form " %> <html> <hade> <meta http-eaviv-equiv =" content-tepe-tempe = "hever> <meta http-equiv =" content-tempe = "haud> <head> <head> htt charset=UTF-8"><title>Insert title here</title></head><body> <form:form modelAttribute="contentModel" method="post"> <form:errors path="*"></form:errors><br/> name:<form:input path="name" /><br/> <form:errors path="name"></form:errors><br/> age:<form:input path="age" /><br/> <form:errors path="age"></form:errors><br/> e-mail:<form:input path="age"></form:errors><br/> path="email" /><br/> <form:errors path="email"></form:errors><br/> <input type="submit" value="Submit" /> </form:form> </body> </html>
<%@ page language = "java" contentType = "text/html; charset = utf-8" pageencoding = "utf-8"%> <! doctype html public "-// w3c // dtd html 4.01 transitional // en"-// w3c // dtd html 4.01 // en «http://www.w3.org/tr/html4/loose.dtd"><html><head><meta http-equiv =" content-type "content =" text/html; charset = utf-8 "> <Title> вставьте заголовок здесь </tite> </hade> <body> verification успешно! </body> </html>
Особенно важно отметить, что имя xxx после modelattribute = "xxx" в представлении validatetest.jsp должно соответствовать имени xxx в соответствующем @valid @modelattribute ("xxx"), в противном случае данные модели и ошибка не будут связаны.
<форма: ошибки path = "name"> </form: ошибки> отобразит информацию об ошибке для соответствующих атрибутов модели. Когда path = "*", отображается информация об ошибке для всех атрибутов модели.
Запустите тест:
Нажмите, чтобы отправить напрямую:
Вы можете увидеть сообщение об ошибке, что настройки правильно отображаются.
Заполните неверные данные для отправки:
Вы можете видеть, что сообщение об ошибке, которое все еще отображается правильно.
Заполните правильные данные для отправки:
Вы можете видеть, что проверка успешна.
Ниже приведены основные примечания и инструкции:
Содержание проверки данных заканчивается здесь, скачать код: демонстрация
Для получения дополнительной информации, пожалуйста, обратитесь к официальному документу: http://docs.jboss.org/hibernate/validator/4.3/reference/en-us/html/validator-usingvalidator.html
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.