如何使用ColdFusion验证Dateformat Mask?

时间:2014-07-18 11:29:23

标签: coldfusion date-format coldfusion-9

如何使用ColdFusion检查日期格式。我想检查用户是否以yyyy-mm-dd格式输入日期。当用户以dd-mm-yyyy格式输入日期时,我想显示错误消息。有没有简单的方法来解决这个问题?

3 个答案:

答案 0 :(得分:4)

正如我在评论中所说,您可以使用以下功能在客户端进行验证

function validateDate(){

var dt = document.forms["Form_Name"]["Date_Field"].value;
var pattern =/^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})$/;
if (dt == null || dt == "" || !pattern.test(dt))
{
    alert("invalid date");
    return false;
}
else{
    return true
}

}

然后在cf代码中处理

<cfset desiredFormat=DateFormat(form.Date_Field,"yyyy-mm-dd")>

ps:js函数取自Javascript Date Validation ( DD/MM/YYYY) & Age Checking

答案 1 :(得分:4)

您是否需要从服务器端验证日期格式? 在这里,我给出了一个简单的RegEx检查,以检查格式并进行一些检查以验证。

<cfset regex = '[0-2][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]'>
<cfset myDate = '2006-12-39'>
<cfset MatchedDate = REMatchNoCase(regex, myDate)>
<cfif arrayLen(MatchedDate) AND isDate(myDate) AND MatchedDate[1] EQ myDate>
    Valid date
<cfelse>
    Invalid date
</cfif>

答案 2 :(得分:1)

你可以这样做:

<cfinput name="StartDate" 
validate="date" 
type="text" 
maxlength="10" 
mask="9999-99-99"
message="Start Date must be a valid date." 
required="yes">

键是mask属性。但是,如果您预先填充此字段,尝试更改该值可能会令人沮丧。