我有一个输入字段,它使用JavaScript将数字enteret转换成丹麦货币(20000将显示为20.000,00KR)..在此输入中,我需要验证(使用passley validate)以下内容:
我尝试使用data-parsley-type=“digits”data-parsley-length=“[5,6]”,该offcause验证该数字是否不低于10000,但也将验证9999999,该offcause不是完美的,但如果我不能将限制设置为200000则可以。最大的问题是,当我在输入框中写入时,Passley会验证输入,但当我“走出”输入时,将输入转换为货币格式的JavaScript会被触发,现在输入字段有“。和“KR”因此passley validate返回输入错误。
我如何使欧芹验证即“10000,00kr。”但在“1K.000.00KR”上失败了?..也许正则表达式?...但怎么做?
null
var currencyInput = document.querySelector('input[type="digits"]')
var currency = 'DKK' // https://www.currency-iso.org/dam/downloads/lists/list_one.xml
// format inital value
onBlur({target:currencyInput})
// bind event listeners
currencyInput.addEventListener('focus', onFocus)
currencyInput.addEventListener('blur', onBlur)
function localStringToNumber( s ){
return Number(String(s).replace(/[^0-9.-]+/g,""))
}
function onFocus(e){
var value = e.target.value;
e.target.value = value ? localStringToNumber(value) : ''
}
function onBlur(e){
var value = e.target.value
var options = {
maximumFractionDigits : 2,
currency : currency,
style : "currency",
currencyDisplay : "symbol"
}
e.target.value = value
? localStringToNumber(value).toLocaleString(undefined, options)
: ''
}
$(function () {
$('#SendNewFixedEmployeeForm').parsley().on('field:validated', function() {
var ok = $('.parsley-error').length === 0;
$('.bs-callout-info').toggleClass('hidden', !ok);
$('.bs-callout-warning').toggleClass('hidden', ok);
})
.on('form:submit', function() {
return true;
});
});
<link href="http://parsleyjs.org/src/parsley.css" rel="stylesheet"/>
<form id="SendForm" action="#" method="post" class="demo-form" data-parsley-validate="" data-parsley-excluded="input[type=button], input[type=submit], input[type=reset], input[type=hidden], [disabled], :hidden">
<input type='digits' class="maxLength form-control" width="400" value="0" name="CurrencyField" id="CurrencyField" aria-describedby="basic-addon2" data-parsley-type="digits" data-parsley-length="[5,6]" data-parsley-errors-container="#Sallary-errors" required/>
<button type="submit" form="SendForm">Submit</button>
</form>
<script src="http://parsleyjs.org/dist/parsley.min.js"></script>
<script src="https://cdpn.io/cp/internal/boomboom/pen.js?key=pen.js-4eb31870-42c1-91aa-5c3e-9c5b016d4ea4" crossorigin></script>
null
使用data-passley-length
和data-passley-min
代替data-passley-max