有没有办法在richfaces中使用ajaxvalidator或者ajax,只要他写了一个不是数字的东西,就会将用户从inputText写入。 换句话说,当用户输入NaN时,可以禁用inputText字段。
例如:如果用户试图写:“11a”,有没有办法防止用户写a? 因此,当他按下“a”时,警告表示输入不会出现数字。
这是jsf代码:
<h:inputText id="price" value="#{carBB.price}" required="true">
<rich:ajaxValidator event="onkeypress"/>
</h:inputText>
这是在bean代码中:
@NotNull
private double price;
public double getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
在我的代码中,当用户编写NaN时会出现警告,但这并不会阻止他编写它。
答案 0 :(得分:0)
<h:inputText id="myId" value="#{myBean.value}"
onkeypress="if((event.which < 48 && event.which != 44 && event.which != 46) || event.which > 57) return false;"/>
这将允许数字,逗号和点。
答案 1 :(得分:0)
我最终得到的这个对我来说很好,只允许双打:\
在标题中:
<script type="text/javascript">
function disableKeys(e,exist)
{
var unicode=e.keyCode;
var value = exist.value;
if((unicode< 0x30 && unicode != 0x2E) || unicode> 0x39)
{
alert("Invalid Input should be number or \".\"");
return false;
}
else if(unicode == 0x2E && value.indexOf(".")>=0)
{
alert("Invalid Input already contains a \".\"");
return false;
}
else
{
return true;
}
}
</script>
身体:
<h:inputText id="price" value="#{carBB.price}" onkeypress="return disableKeys(event,this);"/>