0

有人可以给我一些建议,以限制输入低于 5 的数字的表单验证。我有一个捐赠表格,只是一个金额输入字段和一个到 paypal 的提交按钮。

如果金额值低于 5(5.00 英镑),我应该使用什么表单验证来限制提交表单。

表格如下:

<form target="paypal" id="donate" action="https://www.paypal.com/cgi-bin/webscr" method="post" >
    <div class="span6 text-center">
            <input type="hidden" name="cmd" value="_cart">
            <input type="hidden" name="business" value="SECRET-ID">
            <input type="hidden" name="lc" value="GB">
            <input type="hidden" name="item_name" value="General">
            <input type="hidden" name="item_number" value="GEN">
        <div class="input-prepend input-append">
            <span class="add-on">£</span>
            <input class="span12" name="amount" value="5" placeholder="Enter Donation Amount" id="appendedPrependedInput" size="20" type="text">
            <input type="hidden" name="currency_code" value="GBP">
            <input type="hidden" name="button_subtype" value="products">
            <input type="hidden" name="no_note" value="0">
            <input type="hidden" name="cn" value="Add special instructions to the seller:">
            <input type="hidden" name="no_shipping" value="2">
            <input type="hidden" name="add" value="1">
            <input type="hidden" name="bn" value="PP-ShopCartBF:btn_cart_LG.gif:NonHostedGuest">
        </div>
    </div>
    <div class="span6 text-center">
        <div class="controls">


    <a id="buynow" class="btn btn-danger" href="#" rel="nofollow" onclick="document.getElementById('donate').submit(); return false;">
        <span style="">Donate via PayPal!</span></a>
    <noscript>
        <style>#buynow { display: none; } #page_theme #donate input { display: inline; }</style>
        <input type="submit" class="btn btn-danger" value="Donate via PayPal!">
    </noscript>             
        </div>  
    </div>  
    <img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1">          
</form>
4

3 回答 3

1

在你的情况下,我会使用parsley.js

因此,要在表单上使用 parsley(安装后),请将此数据属性添加到表单中:

data-validate="parsley"

它应该如下所示:

<form target="paypal" id="donate" action="https://www.paypal.com/cgi-bin/webscr" data-validate="parsley" method="post" >

并为您的输入添加以下数据属性(阅读文档以获取更多验证规则):

data-min="6"

所以它应该看起来像:

<input class="span12" name="amount" value="5" placeholder="Enter Donation Amount"  data-min="6" id="appendedPrependedInput" size="20" type="text">

就是这样。

于 2013-06-27T19:08:04.653 回答
0

其中有很多,但是由于大多数人已经在使用 JQuery 并且他们想要使用客户端验证,所以我会使用Jquery Validation。请记住,对于后端,您必须使用自己的 PHP、C# 或任何您需要的验证。如果您不使用 JQuery,我会使用

于 2013-06-27T18:31:02.860 回答
0

如果您想要一个非常简单的前端解决方案,您可以使用附加到输入元素的 onblur 事件的 Javascript 函数来测试输入的值:

<input type="text" name="amount" onblur="checkValue(this)" />

在附加的函数中,您传递元素并检查该元素的值:

function checkValue(element){
    if(element.value < 5){
        alert('The minimum donation is 5.00!');
        // clear value, display message, etc.
    }
}

只要光标离开输入字段,就会触发此功能。一个简单的警报可能就是您所需要的。您可能还需要添加额外的检查以确保元素输入实际上是数字而不是字符串。最好假设最终用户不知道如何使用该表单。

请注意,这只是一个前端解决方案,所有提交的表单都应在所选的服务器端语言(例如 PHP)上进行验证。保存数据时,您不应接受此 Javascript 验证作为可靠的验证器。

于 2013-06-27T19:25:26.050 回答