我试图找出,当我需要例如日期输入时,如何对文本字段进行输入验证。它必须采用类似于31.8.2016的格式,并且必须是今天或更晚的日期。这是两个不同的检查。
我能想到的唯一方法是创建一个布尔方法,它将检查日期是过去还是将来。但我需要创建一种新的方法来检查它是否采用正确的格式,这将更难,但我认为这不是正确的方法。
答案 0 :(得分:0)
我通常创建一个如下所示的日期类:
公共课日期{
private boolean validDay = false;
private boolean validMonth = false;
private boolean validYear = false;
private int day;
private int month;
private int year;
private Calendar cal = Calendar.getInstance();
public Date(int day, int month, int year){
/*
*All of these conditions can also be individually used to check the conditions you
*want to check. simply create 3 texfields and put them in a HBox all values must be entered
*separately !
*/
if(day>=cal.get(Calendar.DAY_OF_MONTH) && day<=cal.getActualMaximum(Calendar.DAY_OF_MONTH)){
this.day = day;
this.validDay = true;
}
else{
//TODO: handle
}
if(month>=cal.get(Calendar.MONTH) && month<=12){
this.month = month;
this.validMonth= true;
}
else{
//TODO: handle
}
if(year>=cal.get(Calendar.YEAR)){
this.year = year;
this.validYear = true;
}
else{
//TODO: handle
}
}
public boolean isDateValid(){
return validDay && validMonth && validYear;
}
public String getDate(){
return day+"."+month+"."+year;
}
public int getDay() {
return day;
}
public int getMonth() {
return month;
}
public int getYear() {
return year;
}
}
您可以使用字符串拆分器和包装箱日期拆分输入! 你也可以添加set方法! 有很多方法可以做到这一点! 我希望这有帮助!