【问题标题】:file field validation using ValidateThis使用 ValidateThis 进行文件字段验证
【发布时间】:2014-02-06 10:48:49
【问题描述】:

我的一个 Coldfusion 项目使用“FW/1”框架和“ValidateThis”作为验证框架。

通过使用它,所有输入字段都得到正确验证,没有任何问题。但是当涉及到文件字段时,它在客户端得到了正确的验证,但表单没有被提交。不知道为什么会这样。详情如下..

文件字段操作:只需要上传“jpeg/jpg”格式的图片。

Test/Default.cfm(查看页面)

<form action="#buildUrl('test.default')#" method="post" 
    enctype="multipart/form-data"  name="frm_test" id="frm_test">

 <div class="field">
     <label for="picture">Profile Picture:</label>
     <input type="file" id="picture" name="picture" value="">
 </div>

<input type="submit" class="ui small button green" name="Submit" value="#rc.Submit#">
</form>

validatethis/rules/test.json(规则文件)

{"validateThis" : {
    "contexts" : [
        {"name":"test","formName":"frm_test"}
    ],
 "objectProperties" : [
{"name":"picture",
            "rules":[
                {"type":"custom","failureMessage":"Please upload jpg/jpeg images only",
                    "params":[
                        {"name":"remoteURL","value":"/ValidateThis/rules/checkformat.cfm"}
                    ]
                }
            ]
        }
    ]
}
co}

validatethis/rules/checkformat.cfm

<cfif len(url.picture)>
<cfset fileEXt = listlast(url.picture,'.')>
<cfif fileEXt EQ 'jpg' OR fileEXt EQ 'jpeg'>
    true
<cfelse>
    false
</cfif>

所以上面提到的细节是为客户端验证配置的,一切都很完美。但是在文件上传期间,表单会验证但不会被提交。

我错过了什么吗?

【问题讨论】:

    标签: forms validation coldfusion


    【解决方案1】:

    看起来您正在使用 method="post" 但正在检查 GET url 参数:

    <cfif len(url.picture)>
    

    试试:

    <cfif len(form.picture)>
        <cfset fileEXt = listlast(form.picture,'.')>
        <cfif fileEXt EQ 'jpg' OR fileEXt EQ 'jpeg'>
            true
        <cfelse>
            false
         </cfif>
    </cfif>
    

    顺便说一句,这里有一个更强大的检查文件上传的方法Getting The MetaData For A File Upload In ColdFusion

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-13
      • 1970-01-01
      • 2016-09-26
      • 1970-01-01
      • 1970-01-01
      • 2021-10-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多