验证自制
Validations selfmade
所以我正在尝试验证 javaFX 中的一些 TextFields,在我早期的程序中这已经奏效,但我现在似乎不起作用,而且我无法弄清楚!好几个小时都浪费了!
这是我编程中的弃儿
这是一个 class 来简化
public class ValidateHelp {
private Text actiontarget = new Text();
public void validateName(TextField firstname, TextField lastname) throws Exception
{
if(firstname.getText().equals(""))
{
if(lastname.getText().equals(""))
{
}
else
{
throw new Exception();
}
}
else
{
throw new Exception();
}
}
这是我的第二个class
boolean useTry = true;
try
{
vh.validateName(firstnameTextField, lastnameTextField);
firstnameTextField.setText(firstnameTextField.getText());
lastnameTextField.setText(lastnameTextField.getText());
}
catch (Exception e)
{
actiontarget.setText("Indtast et fornavn");
actiontarget.setText("Indtast et efternavn");
useTry = false;
}
if(useTry)
{
paymentPage();
}
IF 语句只是检查验证,当一切正常时,它会转到 paymentPage。这是一个预订系统!
问题是它没有验证。当我单击 "Create member" 按钮时,它只是进入了支付页面,但它不应该这样,因为在 Firstname 和 Lastname TextField 中没有输入任何信息!
希望你能帮我 !!
问候
亚历克斯
我认为你的 if 语句被颠倒了。
不希望它在任一字段为空时抛出异常?
而不是
if(firstname.getText().equals(""))
{
if(lastname.getText().equals(""))
{
}
else
{
throw new Exception();
}
}
else
{
throw new Exception();
}
我想你想要
if(firstname.getText().equals("") || lastname.getText().equals("")){
throw new Exception();
}
话虽这么说,抛出一般异常并不是首选。同时,异常抛出在某种程度上是一种昂贵的流程执行方式。您可以将您的代码更改为仅 return 是否已验证的布尔值,然后检查 return 值而不是抛出和捕获异常。只是一个想法。
我改成了
if(methodName.getText().length() > 1)
{
}
问题是它必须是空的才能成功验证...太愚蠢了。
所以我正在尝试验证 javaFX 中的一些 TextFields,在我早期的程序中这已经奏效,但我现在似乎不起作用,而且我无法弄清楚!好几个小时都浪费了!
这是我编程中的弃儿 这是一个 class 来简化
public class ValidateHelp {
private Text actiontarget = new Text();
public void validateName(TextField firstname, TextField lastname) throws Exception
{
if(firstname.getText().equals(""))
{
if(lastname.getText().equals(""))
{
}
else
{
throw new Exception();
}
}
else
{
throw new Exception();
}
}
这是我的第二个class
boolean useTry = true;
try
{
vh.validateName(firstnameTextField, lastnameTextField);
firstnameTextField.setText(firstnameTextField.getText());
lastnameTextField.setText(lastnameTextField.getText());
}
catch (Exception e)
{
actiontarget.setText("Indtast et fornavn");
actiontarget.setText("Indtast et efternavn");
useTry = false;
}
if(useTry)
{
paymentPage();
}
IF 语句只是检查验证,当一切正常时,它会转到 paymentPage。这是一个预订系统!
问题是它没有验证。当我单击 "Create member" 按钮时,它只是进入了支付页面,但它不应该这样,因为在 Firstname 和 Lastname TextField 中没有输入任何信息! 希望你能帮我 !!
问候 亚历克斯
我认为你的 if 语句被颠倒了。 不希望它在任一字段为空时抛出异常?
而不是
if(firstname.getText().equals(""))
{
if(lastname.getText().equals(""))
{
}
else
{
throw new Exception();
}
}
else
{
throw new Exception();
}
我想你想要
if(firstname.getText().equals("") || lastname.getText().equals("")){
throw new Exception();
}
话虽这么说,抛出一般异常并不是首选。同时,异常抛出在某种程度上是一种昂贵的流程执行方式。您可以将您的代码更改为仅 return 是否已验证的布尔值,然后检查 return 值而不是抛出和捕获异常。只是一个想法。
我改成了
if(methodName.getText().length() > 1)
{
}
问题是它必须是空的才能成功验证...太愚蠢了。