【问题标题】:Encrypted values on unsuccessful transaction不成功交易的加密值
【发布时间】:2013-08-15 08:09:47
【问题描述】:

我在我的 .NET MVC 项目中使用 Braintree.js 来加密信用卡详细信息。正面案例效果不错,交易成功。

问题是,我对控制器进行了一些验证,如果出现错误,我再次显示视图时,信用卡字段现在包含加密值。我尝试将模型属性设置为空字符串以清除它们,但加密值仍然存在。

有人对此有一个优雅的解决方案吗?谢谢!

我的 html 代码如下所示:

<script type="text/javascript" src="https://js.braintreegateway.com/v1/braintree.js"></script>
<script type="text/javascript">
    var braintree = Braintree.create("key");
    braintree.onSubmitEncryptForm('braintree-payment-form');
</script>

@model SubscriptionModel
<form action="@Url.Action("Subscribe", "Home")" method="POST" id="braintree-payment-form">
    <ul>
        <li>
            <div class="text">@Html.TextBoxFor(x => x.CreditInfo.CardholderName, new Dictionary<string, object> { { "data-encrypted-name", "CreditInfo.CardholderName" } })</div>
        </li>
        <li>
            <div class="text">@Html.TextBoxFor(x => x.CreditInfo.CardNumber, new Dictionary<string, object> { { "data-encrypted-name", "CreditInfo.CardNumber" } })</div>
        </li>
        <li>
            <div class="text">@Html.TextBoxFor(x => x.CreditInfo.Cvv,new Dictionary<string, object> { { "data-encrypted-name", "CreditInfo.Cvv" } })</div>
        </li>
        <li>
            <div class="text"> 
                @Html.TextBoxFor(x => x.CreditInfo.ExpirationMonth, new Dictionary<string, object> { { "data-encrypted-name", "CreditInfo.ExpirationMonth" } })<div>
                @Html.TextBoxFor(x => x.CreditInfo.ExpirationYear, new Dictionary<string, object> { { "data-encrypted-name", "CreditInfo.ExpirationYear" } })
            </div>
        </li>
    </ul>
     <button>Submit</button>
</form>

【问题讨论】:

  • 请提供您认为错误的代码。
  • 添加了我的 HTML 代码。重申一下,实际订阅工作正常。我的问题是,如果我再次显示视图,文本框的数据将被加密值替换。

标签: asp.net-mvc braintree


【解决方案1】:

我设法通过将 HTML.TextBoxFor 替换为常规输入文本框来解决此问题,如下所示:

<input type="text" autocomplete="off" data-encrypted-name="CreditInfo.CardholderName"/>

如果您使用的是 MVC,请注意您的 data-encrypted-name 值必须与模型的属性匹配,以便在 POST 上正确提交。再次显示视图后字段仍然会被清除,但这对我来说已经足够了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-05
    • 2014-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多