连云港网站建设报价,pc网站生成手机网站,WordPress漏洞在线扫描,wordpress 子页面验证是核心javafx框架所缺少的一件事。 为了填补这一空白#xff0c; controlsfx中已经存在一个第三方验证库 。 但是#xff0c;我有一个问题#xff1a;它不是在考虑FXML的情况下创建的。 这并不是说它不是一个很好的库#xff0c;只是错过了这个细节#xff0c;对我来说… 验证是核心javafx框架所缺少的一件事。 为了填补这一空白 controlsfx中已经存在一个第三方验证库 。 但是我有一个问题它不是在考虑FXML的情况下创建的。 这并不是说它不是一个很好的库只是错过了这个细节对我来说这是不可行的。 因此我决定创建自己的验证框架 FXValidation 。 怎么运行的 为了向您展示FXValidation的工作原理让我们从头开始向您展示一个使用该库时FXML文件的外观示例。 这是一个登录屏幕的简单示例其中用户需要输入用户名和密码 LabeltextUser Name:/text
/Label
TextField fx:iduserName iduserName/TextField
LabeltextPassword:/text
/Label
PasswordField fx:idpassword idpassword/PasswordFieldButton textSubmit onAction#submitPressed/Buttonfx:defineRequiredField fx:idrequiredField1 srcControlfx:reference sourceuserName/fx:reference/srcControl/RequiredFieldRequiredField fx:idrequiredField2 srcControlfx:reference sourcepassword/fx:reference/srcControl/RequiredField
/fx:defineErrorLabel messagePlease enter your usernamevalidatorfx:reference sourcerequiredField1/fx:reference/validator
/ErrorLabel
ErrorLabel messagePlease enter your passwordvalidatorfx:reference sourcerequiredField2/fx:reference/validator
/ErrorLabel 在FXML代码段的开头我定义了用于输入登录详细信息的文本字段和密码字段。 除此之外还有一个提交按钮以便用户可以将登录信息发送到系统。 之后是有趣的部分。 首先我们定义几个RequiredField类型的验证器。 该验证器检查所输入的内容是否为空如果是则在标志中存储验证是否有错误。 FXValidation框架中还内置了其他类型的验证器但我们将稍作介绍 。 最后我们定义了几个ErrorLabel。 这是实现IValidationDisplay的节点实现此接口的任何类都是一个类其目的是在验证过程中发生错误时向用户显示信息。 当前框架中只有此类之一ErrorLabel。 最后我们需要在用户单击“提交”按钮时调用验证这是在控制器中的Submit方法上完成的 public void submitPressed(ActionEvent actionEvent) {requiredField1.eval();requiredField2.eval();
} 这将触发对我们定义的验证器的验证。 如果有错误ErrorLabels将显示在其中定义的错误消息。 验证器还有另外一件事验证器生效后它们将css样式类“ error”添加到每个有错误的控件中。 这使程序员只要在控件上附加了错误类就可以使用css改变控件的样式。 程序员可以通过检查验证器中的hasErrors属性来检查验证过程中的错误。 这是我们的示例 细节 从上面显示的内容可以看出基本上涉及两种类型的类 验证器负责检查目标控件 srcControl 是否符合验证规则。 如果没有它将“错误”样式类附加到目标控件将其hasErrors属性设置为true。 所有验证器都从ValidatorBase扩展。 错误显示信息负责通知用户验证发生了什么问题可能是必填字段字段内容没有必要的字符数等等。所有这些类都实现IValidationDisplay 。 在库中当前有3个验证器并且只有一个错误“显示器”即ErrorLabel。 验证器如下 RequiredField检查目标控件 srcControl 是否具有内容如果没有则给出错误。 CardinalityValidator检查目标控件 srcControl 是否至少具有最小字符数和最大最大字符数。 RegexValidator根据给定的正则表达式检查目标控件 srcControl 的内容 就是这样。 翻译自: https://www.javacodegeeks.com/2014/08/validation-in-java-javafx.html