質問

ネイティブMagento validate.jsを使用したカスタム通貨検証のためにすべての方法を探しています

ユーザーがテキストフィールドにカスタム価格を追加できるようにするフォームがあります。次のクラスを使用して入力を検証しています。

validate-digits-range 

digits-range-1-10

問題は、テキストフィールドに通貨標識が事前に入力されていることです £ したがって、検証に合格しません。

私は適応しようとしました validate-currency-dollar クラスですが、テストはまだ失敗します

Validation.add('validate-currency-dollar', 'Please enter a valid $ amount. For example $100.00.', function(v) {
    // [$]1[##][,###]+[.##]
    // [$]1###+[.##]
    // [$]0.##
    // [$].##
    return Validation.get('IsEmpty').test(v) ||  /^\$?\-?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}\d*(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/.test(v)
});

誰かが前にこれをやったことがありますか?アドバイスを共有してください。

役に立ちましたか?

解決

私は少し正規表現を変更しました

/^[\$£]?\-?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}\d*(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/

標準的なものの代わりに試してみてください。

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top