我有一个关于服务器端验证的问题。我在我的cffunction 中传递参数。其中一些参数是用户填充的 FROM 值,其中一些是我从数据库填充的隐藏值。隐藏值将使用表单上特定字段的当前值。所以我的问题是,如果我在我的 cffunction 和我的隐藏值中传递新值,然后比较这两者,这对我的服务器端验证是否足够?我想知道是否存在用户可以解决该验证的任何情况?或者,也许更好的选择是创建 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>
如果有人可以提供帮助或提供示例,如果有某种方法可以解决此验证问题,请告诉我。提前致谢。