我对我的服务器端验证有一个问题。我正在传递我的论点。其中一些参数来自用户填充的值,其中一些是我从数据库中填充的隐藏值。隐藏值将使用表单上特定字段的当前值。因此,我的问题是,如果我在填充中传递了新值,而我的隐藏价值则比较这两个值,那么这足以让我的服务器端验证吗?我想知道是否有任何场景用户可以在该验证方面工作?或者也许更好的选择是创建CFQUERY,该CFQUERY将直接从服务器端的数据库中撤出该记录,而不是在客户端端创建隐藏的字段,然后将值作为参数传递?这是我上述问题的示例:
<select name="vehicles" id="vehicles">
<input type="hidden" name="curVehicle" id="curVehicle" value="#oldVce.VehcileNum#" readonly>
<option value="">Pick the vehicle</option>
<cfloop query="myVehicles">
<option value="#vehicleNum#">#vehicleName#</option>
</cfloop>
</select>
服务器端:
<cffunction name="InsertUpdateVehicles" access="remote" returnformat="JSON" output="true">
<!--- current value from drop down menu --->
<cfargument name="newVehicle" type="string" required="yes">
<!--- value from hidden field curVehicle --->
<cfargument name="oldVehicle" type="string" required="yes">
<cfset myResults = structNew()>
<cfif trim(arguments.newVehicle) NEQ trim(arguments.oldVehicle)>
<!--- Run Insert/Update --->
</cfif>
<cfreturn myResults>
</cffunction>
如果有人可以提供帮助或提供示例,如果有某种方法可以解决此验证,请告诉我。预先感谢。
如果要服务器端验证,则应在您的功能中抓取#oldVce.VehcileNum#
并在此检查。或者,您可以使用哈希功能来加密隐藏的字段。