使dijit.form.currencytextbox接受负值,小数点后一位数

时间:2017-06-20 14:27:37

标签: javascript validation dojo dijit.form

我正在使用 ... SetHandler balancer-manager </Location> ProxyPass "/admin" "http://localhost:16666/admin" ProxyPassReverse "/admin" "http://localhost:16666/admin" <Proxy balancer://videoportal> BalancerMember http://localhost:16666 ... 并希望允许负值。当我给出值dijit.form.currencytextbox时,我收到错误:

  

'输入的值无效'

当我给出值'-0.1'时,该值被接受为有效。

如何将'-0.10'作为有效值。 我尝试添加'-0.1'以使输入的值在十进制之后转换为两位数,但这没有任何区别。 contraints-places:2自动格式化'0.1'并被接受为有效输入。

'$0.10'

1 个答案:

答案 0 :(得分:0)

我认为这是由于Dojo版本问题

请将您的项目设置为更新的版本,它应该可以正常工作

请参见此工作Fiddle使用dojo 1.12

另见工作片段:

require(["dijit/form/CurrencyTextBox", "dijit/form/Button", "dojo/on",
  "dojo/domReady!"
], function(CurrencyTextBox, Button, On) {
  var fp = new CurrencyTextBox({
    currency: 'USD',

    value: -0.1,
    constraints: {
      places: 2
    }
  }, 'currency');

  var btn = new Button({}, "btn");


  console.log(fp);
  fp.startup();

  On(btn, "click", function(e) {
    console.log(fp.get("value"))
    alert(fp.get("value"));
  });
});
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/dojo/1.12.1/dijit/themes/claro/claro.css" />



<script src="//ajax.googleapis.com/ajax/libs/dojo/1.12.1/dojo/dojo.js"></script>

<div id='currency'></div>
<br /><br />
<body class="claro">
  <div id='btn'>
    Alert value
  </div>
</body>