Tag: validation

使用luhn算法validation信用卡号

我对以下编程任务有疑问。 信用卡号码遵循某些模式。 信用卡的长度必须介于13到16位之间。 它必须从: •4张Visa卡 •5张万事达卡 •美国运通卡37张 1954年,IBM的Hans Luhn提出了一种validation信用卡号的算法。 该算法可用于确定是否正确输入了卡号或扫描仪是否正确扫描了信用卡。 几乎所有信用卡号都是在此有效性检查后生成的,通常称为Luhn检查或模数10检查,可以描述如下。 例如,请考虑卡号4388576018402625。 从右到左加倍每秒。 如果数字加倍会产生2位数字,请将两位数相加以得到一位数字。 2 x 2 = 4 2 x 2 = 4 4 x 2 = 8 1 x 2 = 2 6 x 2 = 12(1 + 2 = 3) 5 x 2 = 10(1 + 0 = 1) 8 x 2 […]

在Spring中使用double值进行validation

我想检查有价值的分数:0.00 <=值<= 10.00 我用了: -model(分数): @Range(min = (long) 0.0, max = (long) 10.0) private double score; -messages.properties: Range.score.score=Please input 0<= score <=10 -servlet-context.xml中: 但是值= 10.01已通过检查。 请帮帮我。

如何告诉xalan不要validation使用“document”函数检索的XML?

昨天甲骨文决定取消java.sun.com一段时间。 这为我搞砸了,因为xalan试图validation一些XML但无法检索properties.dtd。 我正在使用xalan 2.7.1来运行一些XSL转换,我不希望它validation任何东西。 所以尝试像这样加载XSL: SAXParserFactory spf = SAXParserFactory.newInstance(); spf.setNamespaceAware(true); spf.setValidating(false); XMLReader rdr = spf.newSAXParser().getXMLReader(); Source xsl = new SAXSource(rdr, new InputSource(xslFilePath)); Templates cachedXSLT = factory.newTemplates(xsl); Transformer transformer = cachedXSLT.newTransformer(); transformer.transform(xmlSource, result); 在XSL本身,我做这样的事情: 此代码检索的XML在顶部具有以下定义: <entry key="… 尽管上面的java代码指示解析器不是VALIDATE,但它仍然向java.sun.com发送请求。 虽然java.sun.com不可用,但这会使转换失败并显示以下消息: Can not load requested doc: http://java.sun.com/dtd/properties.dtd 如何让xalan停止尝试validation从“document”函数加载的XML?

使用JAXB进行JAX-WS请求validation

在JAX-WS中,要validation传入的请求,其中一种方法是使用@SchemaValidation,如下面的链接所示。 JAX-WS和XSDvalidation 但是我使用的应用程序服务器(WAS 7)尚不支持@SchemaValidation。 (如果WAS 7支持此注释,请纠正我) 所以我正在寻找其他选项,比如实现一个处理程序来validation传入的请求。 无论是在处理程序还是端点类本身,我都可以创建JAXBContext并使用JAXBvalidation器。 我是否需要显式创建JAXBContext,或者它是否可用作资源/注释,因为JAX-WS内部使用JAXB? 这是在JAX-WS中实现validation的好方法吗? (在没有@SchemaValidationvalidation的情况下) 在Web服务中validation传入请求xml是否是一种标准做法,或者由于可能需要的性能影响,它是否被跳过?

@initbinder不适用于特定的模型属性

我正在使用@valid和@initbinder来validation传递给服务的数据,但我面临的问题是@InitBinder仅在全球范围内工作,即 @InitBinder // possible to leave off for global behavior protected void initBinder(WebDataBinder binder){ binder.setValidator(new LoginRequestValidator()); } 而不是像我有一个名为LoginRequest的模型对象的特定模型属性: @InitBinder(“LoginRequest”) // possible to leave off for global behavior protected void initBinder(WebDataBinder binder){ binder.setValidator(new LoginRequestValidator()); } 在这种情况下,validation器根本没有被调用..这是正确的方法吗? 还是我错过了什么?

Spring MVC 3 – >validation

我有一个Spring MVC应用程序,它使用AJAX / JSON与前端进行通信,我在前端有一个带有HTML的Web应用程序。 为了向数据库添加元素,我在后端系统中执行此操作: @RequestMapping(value=”add/”, method=RequestMethod.POST) public @ResponseBody SerializePerson addProject(@RequestBody Person person) { Person p = this.personService.addPerson(person); return new SerializePerson(p.getId(), p.getName(), p.getEmail()); } 但现在我遇到了问题(这是一个非常简单的例子),有人可以创建一个没有名称的项目,所以name =“”和一个无效的电子邮件地址。 我的问题是,我想validation后端系统中的字段。 所以我在这里找到了一个Spring MVC展示: https : //src.springsource.org/svn/spring-samples/mvc-showcase/src/main/java/org/springframework/samples/mvc/validation/ 他们这样做: @RequestMapping(“/validate”) public @ResponseBody String validate(@Valid JavaBean bean, BindingResult result) { if (result.hasErrors()) { return “Object has validation errors”; } else { return […]

如何在WEKA中交叉validation后打印预测类

使用分类器完成10倍交叉validation后,如何打印出每个实例的预测类以及这些实例的分布? J48 j48 = new J48(); Evaluation eval = new Evaluation(newData); eval.crossValidateModel(j48, newData, 10, new Random(1)); 当我尝试类似于下面的内容时,它说分类器没有构建 。 for (int i=0; i<data.numInstances(); i++){ System.out.println(j48.distributionForInstance(newData.instance(i))); } 我正在尝试做的是与WEKA GUI中相同的function,其中一旦训练了分类器,我就可以点击Visualize classifier error” > Save ,我将在文件中找到预测的类。但是现在我需要它在我自己的Java代码中工作。 我尝试过类似下面的内容: J48 j48 = new J48(); Evaluation eval = new Evaluation(newData); StringBuffer forPredictionsPrinting = new StringBuffer(); weka.core.Range attsToOutput = null; Boolean outputDistribution = […]

针对多个任意模式validationXML

考虑一个XML文档,它像下面的多个模式一样开始(这不是一个特定于Spring的问题;这只是一个方便的XML文档): 我想validation文档,但我不知道文档作者将使用哪些名称空间。 我相信文档作者,所以我愿意下载任意模式URL。 我如何实现我的validation器? 我知道我可以使用DocumentBuilderFactory实例指定我的模式我调用setAttribute(“http://java.sun.com/xml/jaxp/properties/schemaSource”, new String[] {…})但我不知道知道架构URL,直到解析文档。 当然,我可以在解析文档之后自己提取XSD URL,然后通过validation器运行它,如上所述指定”http://java.sun.com/xml/jaxp/properties/schemaSource” ,但肯定已经有了自动执行此操作的实现?

Eclipse Ganymede没有正确validationJSP

我刚安装了Ganymede,正在探索一个旧项目。 我的所有JSP都给了我奇怪的validation错误。 我看到的东西像 – Syntax error on token “}”, delete this token Syntax error on token “catch”, Identifier expected Syntax error, insert “Finally” to complete TryStatement 我在这里做最好的练习,没有任何文章或任何东西,所以我认为Eclipse错误地将Java类validation器应用于我的JSP。 关于如何阻止这种情况发生的任何想法? 在Options / Editors / File Associations下,我有以下JSP: JSP Editor (default) Web Page Editor Text Editor CSS JSP Editor 我错过了什么吗? 另外我认为这是正确的,但万一它不是,这是我的页面指令 –

如何解析比NumberFormat在Java中更严格的数字?

我正在validation表单中的用户输入。 我使用NumberFormat解析输入,但它是邪恶的,几乎允许任何东西。 有没有办法解析数字更严格? 例如,我想不允许这三个输入,对于整数,但Numberformat允许所有这些: NumberFormat nf = NumberFormat.getNumberInstance(); nf.setParseIntegerOnly(true); Number numberA = nf.parse(“99.731”); // 99 (not what the user expect) Number numberB = nf.parse(“99s.231”); // 99 (invalid) Number numberC = nf.parse(“9g9”); // 9 (invalid) System.out.println(numberA.toString()); System.out.println(numberB.toString()); System.out.println(numberC.toString());