草庐IT

DTD-Validation

全部标签

java - JSP 自定义标签 : missing DTD/XML Schema

我已经使用以下TLD编写了我的JSP自定义标记:1.02.1...现在EclipseHelios提示“没有检测到文档的语法约束(DTD或XML模式)。”我知道如何禁用警告,而是想知道如何通过提供DTD或架构信息来解决问题。顺便说一句,在上面的XML中我有:xsi:schemaLocation="http://java.sun.com/xml/ns/javaeeweb-jsptaglibrary_2_1.xsd"但这似乎没有帮助。更新根据Peter的建议,我检查了我的Window>Preferences>XML>XMLCatalog,我发现以下内容可能适合:Entryelement:Pu

java - 使用已定义的根(起始)元素将 DTD 转换为 XSD

我有几个大的DTD文件。我用过trang将它们转换为XSD文件,这样我就可以轻松地从JAXB和其他实用程序中使用它。但是,生成的XSD文件的所有声明元素都位于顶层。这意味着任何元素都可以是输入XML的根元素。我只想指定一个特定的元素。拥有这些多个根元素会导致一些问题,例如xjc生成@XmlRootElement对于所有类,所以我需要添加更多额外的检查。据我了解,我需要重写生成的XSD,移动s至s,改变elementref进入elementtypes等等,但这将是太多的猴子工作,无法验证是否所有操作都正确。有没有更有效的方法来做到这一点? 最佳答案

java - JSR 303 - javax.validation - 验证日期

我有一个JavaEE应用程序,我想验证一个日期。使用String我这样做:importjavax.validation.constraints.NotNull;importjavax.validation.constraints.Size;...@NotNull@Size(min=1,max=255)privateStringmyString;但现在我有两个要验证的日期。用户可以在前端系统中的文本字段中写入一个字符串,该字符串将通过JSON传输(我必须使用文本字段,我不能使用日期选择器)。所以我的后端在我的域类中确实有这个:@DateTimeFormat(pattern="dd.MM.

java - bean validation命令的默认参数?

我目前正在尝试使用bean验证来提供自定义验证消息。目前使用springmvc3.1.1+apachebean验证。在我的bean中,我指定:@Size(min=1,max=50)privateStringtitle;在我的messages.properties中:Size.addForm.title=Thetitlemustnotbeemptyandmustnotexceed{1}characters.通过实验,我发现:{0}指的是“标题”{1}指最大值,即50{2}指的是最小值,即1它会显示为标题不能为空且不能超过50个字符。这是正确的。不过这些都是实验出来的。我想知道是否有文档说

java - 禁用基于外部 DTD/XSD 的 XML 验证

有没有一种方法可以在不修改(构建DocumentBuilder的库的)源代码的情况下禁用基于外部DTD/XSD的XML验证?比如为DocumentBuilderFactory功能设置JVM范围内的默认值,以及为SAX设置相同的默认值?在IDE中编辑文件时验证非常好,但我不需要我的webapp仅仅因为somelib.net宕机而无法启动。我知道我可以指定本地DTD/XSD位置,但这是一个不方便的解决方法。有哪些选项?我能想到两个:实现我自己的DocumentBuilderFactory。拦截Xerces的DocumentBuilderImpl构造并修改features哈希表(添加http

javax.validation : Constraint to validate a string length in bytes

我正在使用javax.validation来验证一些bean字段的值。这是我通常使用的:publicclassMarket{@NotNull@Size(max=4)privateStringmarketCode;@Digits(integer=4,fraction=0)privateIntegerstalls;//getters/setters}这将确保每个Market实例都有一个最大长度为4个字符的市场代码和一个最大为4位整数和0的摊位数量十进制数字。现在,我使用这个bean从DB加载/存储数据。在数据库中,我有如下定义的表Markets:CREATETABLEMARKETS(MAR

Java Bean 验证 : How do I specify multiple validation constraints of the same type but with different groups?

我有多个进程,其中bean属性必须具有不同的值。示例:@Min(value=0,groups=ProcessA.class)@Min(value=20,groups=ProcessB.class)privateinttemperature;不幸的是bean验证JSR303没有设置@Repeatable在javax.validation.constraints.Min上,所以这种方法不起作用。我找到了“Min.List”,但没有任何关于如何使用它的文档。相反,官方Oracle文档声明在http://docs.oracle.com/javaee/7/api/javax/validation

java - "Turn off"以编程方式进行 bean 验证 (javax.validation.constraints)

例如,我们有一些实体,其中有几个字段正在使用注解@Pattern进行验证。这个实体在项目中无处不在,但只有在一个地方我们需要“关闭”这个验证。有没有办法以编程方式完成,或者这是不可能的? 最佳答案 您可以为此使用验证组:@Min(value=18,message="Youhavetobe18",groups=AdultsGroup.class)publicintage;然后:constraintViolations=validator.validate(person,AdultsGroup.class);用于检查最小年龄,或者:co

java - 使用 XSLT 即 XML 转换器时防止 DTD 下载

我必须用Java处理带有XSLT的DTD的XML文件。确实需要DTD,因为它包含我使用的实体的定义。(旁白:是的,将实体用于可以使用unicode的东西是个坏主意;-)当我运行转换时,它每次都从外部源下载DTD。我希望它使用XML目录来缓存DTD,所以我给TransformerFactory一个CatalogResolver作为URIResolver:URIResolvercr=newCatalogResolver();tf=TransformerFactory.newInstance();tf.setURIResolver(cr);Transformert=tf.newTransfo

java - Spring : How to resolve a validation error -> error code -> error message

在Spring中,验证后我们在controller中得到一个BindingResult对象。很简单,如果我收到验证错误,我想重新显示我的表单,并在每个受影响的字段上方显示错误消息。因此,为了检查我的FormObject字段username上的字段错误,我调用:FieldErrorusernameFieldError=bindingResult.getFieldError("username");太好了,现在我持有一个FieldError对象,假设我使用的是DefaultMessageCodeResolver,它现在包含大约4个可能的错误代码。如何从FieldError->Astring