我正在尼泊尔开发一个应用程序,所以我必须按照当地时间和尼泊尔日历存储日期。根据尼泊尔日历,日期限制为32 “32/12/2015”。将日期绑定到31时没有问题,因为我经历了32,它在表单中显示“error.invalid”错误。 是否有任何解决方案将日期限制为32。 抱歉语法错误,并提前致谢...
答案 0 :(得分:0)
您没有提及您用于开发应用的语言。
在Java中,您可以创建自定义数据格式化程序来绑定表单中的值。以下是如何编写一个的示例:
package example.formatters;
import play.data.format.Formatters.SimpleFormatter;
import java.util.Date;
public class DateFormatter extends SimpleFormatter<Date>{
@Override
public Date parse(String value, Locale locale) throws ParseException {
if (value == null || value.length() == 0) {
return null;
}
if(isStringDate(value)){
return convertStringToDate(value);
}
throw new ParseException(value, 0); //throw exception if value is not proper date
}
@Override
public String print(Date d, Locale locale) {
return convertDateToString(d);
}
}
实现自定义格式化程序后,您需要将其注册为数据类型(例如,在应用程序的Global类中):
package app;
import play.GlobalSettings;
import play.Logger;
import java.util.Date;
import example.formatters.DateFormatter;
public class Global extends GlobalSettings {
@Override
public void onStart(Application app) {
Formatters.register(java.util.Date.class, new DateFormatter());
}
}