gpt4 book ai didi

coldfusion - 有什么方法可以有选择地禁用 ColdFusion 的内置表单验证?

转载 作者:行者123 更新时间:2023-12-04 19:11:40 28 4
gpt4 key购买 nike

我正在使用一些旧代码。它使用内置的 ColdFusion 表单验证(即 _required 隐藏字段)。我想在表单中添加一个取消按钮。取消按钮必须实际处理一些业务逻辑(所以我不能让它设置 location.href 到其他页面)。问题是,因为取消按钮是一个提交按钮,它会触发内置验证,用户会收到一个错误,表明该字段是必需的。

有什么方法可以禁用该特定提交按钮的验证吗?我宁愿不尝试修改构建表单的底层代码,因为它在很多地方使用。这是我的代码的一个大大简化的版本:

<cfif IsDefined("Form.OK")>
You clicked OK!
<cfelseif IsDefined("Form.Cancel")>
You clicked Cancel!
</cfif>

<cfoutput>
<form action="#CGI.Path_Info#" method="POST">
Enter Name: <input type="text" name="Name" value="" /><br/>
<input type="hidden" name="Name_required" value="" />
<input type="submit" name="OK" value="OK" />
<input type="submit" name="Cancel" value="Cancel" />
</form>
</cfoutput>

我想到的一件事是使取消按钮的 onclick 从 DOM 中删除任何隐藏的“_required”字段。这有效,但感觉非常hacky。这是我用于该方法的 Javascript:
<script type="text/javascript">
function removeRequiredFields() {
var els = document.getElementsByTagName('input');
for(var i = 0; i <= els.length; i++) {
if(els[i].type == 'hidden' && els[i].name.endsWith('_required'))
els[i].parentNode.removeChild(els[i]);
}
}
</script>

最佳答案

CF9+ - 应用程序.cfc

this.serverSideFormValidation="false";

http://www.raymondcamden.com/index.cfm/2009/7/12/My-first-ColdFusion-9-scoop--disable-server-side-validation

CF8 - 应用程序.cfc
<cfset this.name = "myApplication">
<cfset url.form = structnew()/>
<cfset structappend(url.form,form)/>
<cfset structclear(form)/>
<cffunction name="onRequestStart">
<cfset structappend(form,url.form)/>
<cfset structdelete(url,"form")/>
</cffunction>

http://www.cfinsider.com/index.cfm/2008/9/30/Getting-Around-ColdFusion-Form-Validation

关于coldfusion - 有什么方法可以有选择地禁用 ColdFusion 的内置表单验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14442604/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com