我有很多像
这样的代码if (myTextInput.text != "") {
handleEvent();
}
TextInput是否有一些我可以用来自动检查空字符串的属性?
类似于我如何设置它:
<s:TextInput id="myInput" enter="myInputHandler()" restrict="A-Za-Z0-9"/>
然后myInputHandler()
只有在文本为字母数字时才会被调用。我想添加一个长度大于0的额外限制。
我知道验证器,但我仍然需要手动调用它们。
答案 0 :(得分:3)
要制作jar
组件&#34; required&#34;,您可以创建自己的文本输入组件并使用属性来指示是否需要控件,以及某些事件像TextInput
事件这样的监听器会强制用户在输入中输入内容。
为此,请举例:
FocusEvent.FOCUS_OUT
当然这只是一个例子,您可以在用户将输入留空时使用您想要的任何行为......
然后使用该新组件:
package myComponent
{
import flash.events.FocusEvent;
import spark.components.TextInput;
public dynamic class MyTextInput extends TextInput
{
private var _required:Boolean = false;
public function MyTextInput()
{
super();
this.addEventListener(FocusEvent.FOCUS_OUT, on_KeyDown);
}
public function set required(required:Boolean): void {
this._required = required;
}
public function get required(): Boolean {
return this._required;
}
private function on_KeyDown(e:FocusEvent): void {
if(this.text == '' && this._required){
this.setFocus();
}
}
}
}
有关创建自己的组件的更多信息,请查看here。
希望可以提供帮助。
答案 1 :(得分:0)
尝试:
if ( String(myTextInput.text).length > 0 )
{
handleEvent();
}
如果那是你需要的所有代码(没有额外的命令),那么就像一行一样:
if ( String(myTextInput.text).length > 0 ) { handleEvent(); }
答案 2 :(得分:0)
也许,这不是那种解决方案,但是,您可以将TextField放入FormItem,它具有“必需”字段