我有一个需要用户输入的ant脚本。我想确保用户输入了正确的输入类型,如果没有,则提示他们输入正确的内容。
<input message="secure-input:" addproperty="the.password" >
</input>
我必须检查输入是否为空,然后我会提示他们重新输入。
是否可以在蚂蚁输入任务中使用?
答案 0 :(得分:3)
如果不满足某些条件,大多数条件子句最多允许您fail脚本。我想你正在收集用户的一些意见,所以如果用户提供空密码失败可能不是最好的可用性体验,因为他将不得不重新输入所有内容......
此外,只测试一个空字符串似乎是一个很差的验证,如果用户提交了一堆空格怎么办?
我的(诚然是hackish)建议如下:
<target name="askPassword">
<local name="passwordToValidate"/>
<input message="secure-input:" addproperty="passwordToValidate"/>
<script language="javascript">
<![CDATA[
passwordToValidate = project.getProperty("passwordToValidate");
//You can add more validations here...
if(passwordToValidate.isEmpty()){
println("The password cannot be empty.");
project.executeTarget('askPassword');
}
]]>
</script>
<property name="the.password" value="${passwordToValidate}"/>
</target>
所以亮点:
我的2美分。
答案 1 :(得分:1)
您可以使用条件任务来检查输入是否为空,但您也可以使用antcontrib添加if / else并显示用户相应的消息:
<if>
<not>
<length string="${the.password}" trim="true" when="greater" length="0" />
</not>
</if>
<then>
<echo>Your password is empty!</echo>
</then>
答案 2 :(得分:0)
查看Conditions - condition
任务。