验证JTextFields(Java)中的用户输入
我正在尝试验证文本框中的用户输入。我正在检查文本框是否已填充,如果未填充,我需要提醒用户未填充哪个文本框。我的问题是,我需要一种返回哪个文本框/变量为空的方法。我知道我需要传入两个值,一个是文本框的内容,另一个是文本框的标识符 目前我有这个(在StackOverflow上找到的),它检查数组中的每个变量是否已填充验证JTextFields(Java)中的用户输入,java,swing,validation,jtextfield,Java,Swing,Validation,Jtextfield,我正在尝试验证文本框中的用户输入。我正在检查文本框是否已填充,如果未填充,我需要提醒用户未填充哪个文本框。我的问题是,我需要一种返回哪个文本框/变量为空的方法。我知道我需要传入两个值,一个是文本框的内容,另一个是文本框的标识符 目前我有这个(在StackOverflow上找到的),它检查数组中的每个变量是否已填充 public boolean areAllNotEmpty(String... text){ for(String s : text) { if(s == n
public boolean areAllNotEmpty(String... text){
for(String s : text) {
if(s == null || "".equals(s)) {
return false;
}
}
return true;
}
我希望它也能返回这样的内容(评论):
我以前在一个C#项目上实现过这个方法,但它需要一次传入一个文本框,并带有多个方法调用,我猜这并不好
public static bool IsFieldNull(TextBox currentText, string type)
{
bool allOk = false;
if (currentText.Text == "")
{
MessageBox.Show("Error - '" + type + "' field cannot be left blank, please enter some data in this field");
currentText.Focus();
return allOk;
}
else
{
allOk = true;
return allOk;
}
这就是C#中的名称
如果这些都不合理,请告诉我
感谢您的帮助。您可以将组件传递给该方法并返回空组件,如下所示:
public List<JTextField> getEmptyFields(JTextField... textFields) {
List<JTextField> emptyFields = new ArrayList<JTextField>();
for (JTextField field : textFields) {
if (field.getText().isEmpty()) {
emptyFields.add(field);
}
}
return emptyFields;
}
公共列表getEmptyFields(JTextField…textFields){
List emptyFields=new ArrayList();
for(JTextField字段:textFields){
if(field.getText().isEmpty()){
emptyFields.add(字段);
}
}
返回空字段;
}
然后,您可以检查返回列表的
size()
,以确定是否存在空字段,并相应地处理它们。按下提交按钮时进行验证不是很有用,最好在发生错误时进行验证。你可以考虑使用。然后你就知道它什么时候处于有效状态。除此之外,如果您使用的是java7或更高版本,您可以查看JLayer
来装饰处于无效状态的组件。有关更多示例,请参见此处。什么类型的文本框?像JTextField
?如果没有,请向我们展示您的TextBox类,以便我们了解我们正在使用的是,JTextFields。对不起,我将修改问题。
Validation.IsFieldNull(txtBoxFixtureDate, "Fixture Date") && Validation.IsFieldNull(txtBoxTime, "Time")
public List<JTextField> getEmptyFields(JTextField... textFields) {
List<JTextField> emptyFields = new ArrayList<JTextField>();
for (JTextField field : textFields) {
if (field.getText().isEmpty()) {
emptyFields.add(field);
}
}
return emptyFields;
}