我最初建议在执行更新 SQL / 事务时忽略表单中的 CC 编号字段。仅仅因为它是由用户提供的,并不意味着你必须使用它。
但这有一个问题——它假设用户永远不会用不同的信用卡更新信用卡信息——我认为“只是”假设是一件坏事。
如果您检查信用卡号中“*”字符的提交值怎么样?
如果有“*”,他们并没有改变最初保存的 CC 号码,因此这是一个“安全(r)赌注”,现在您可以忽略该号码。
如果没有“*” - 他们提供了一个 CC 号码 - 验证它/重新保存它。即使它与以前的卡号相同 - 只需假设他们输入了一个完全不同的号码并执行您所需的 CC 号码验证,然后保存所有表单数据。
就像是;
<cfif form.ccNumber contains "*">
<!--- disregard the CC number it is the same as the old one --->
<!--- do other form field validation --->
<!--- save all OTHER form fields, only / do NOT save the CC number --->
<cfelse>
<!--- we have no "*" in the CC number - validate the card number --->
<!--- jQuery has credit card validation in its validation plugin. --->
<!--- do other form field validation --->
<!--- save ALL form fields --->
</cfif>