我正在尝试找到一种在 WebObjects 应用程序中进行字段验证的好方法。如果我有一个文本字段并且我将一个数字格式化程序绑定到它,似乎默认行为是在用户输入有效数字时解析数字,或者,如果用户输入无效数字,它似乎只是忽略用户输入的值。我无法在保存方法或操作方法中进行验证,因为 WO 在到达操作方法时已经忽略了非数字输入。在 WebObjects 应用程序中,是否有一种标准/推荐的方式来验证用户输入,以便可以提醒用户注意无效输入,而不仅仅是忽略无效输入?
此页面:http ://en.wikibooks.org/wiki/WebObjects/EOF/Using_EOF/Validation 声称 WO 和 EOF 具有“一系列令人难以置信的验证机制”,甚至暗示有一种内置方法可以防止用户输入不适当的数据,但我无法找到任何文档或如何做到这一点的示例(如果实际上有内置方式)。想出一个自定义的 javascript 验证器来防止不适当的数据似乎是一场噩梦——找到一种方法让 JS 识别和处理后端格式化程序/解析器处理的所有相同的边缘情况。如果 WO 真的有一种内置的方式将格式化程序边缘情况传播到 JS 验证,那就太好了。
上面的链接还说 WOComponent 中有一个 validationFailedWithException 方法,该方法被称为“当 EO 或格式化程序在分配期间验证失败时”,但是在上面的非数字示例情况下,如何使格式化程序验证失败?如果输入了非数字,我尝试让格式化程序在 parse 方法中引发异常,但该异常不会传递给 validationFailedWithException 方法。有谁知道我如何在格式化程序中触发一个异常来触发对validationFailedWithException()的调用?这甚至是最好的/推荐的方式吗?有人知道更好的方法吗?