首页 > 解决方案 > TextFormField Validator:错误边框未激活

问题描述

当我按下按钮验证 FormKey 时,TextFormField 的错误边框未激活。我想当我按下按钮时,如果不是验证,显示一个红色边框。

按钮按下:

if(this._formKeyEmail.currentState.validate()){
  //Pass  
}

文本表单字段:

Container(
  width: this.widget.width,
  height: 50,
  decoration: BoxDecoration(
    borderRadius: BorderRadius.circular(6.0),
    boxShadow: ThemeEffect.shadowInputField()
  ),
  child: TextFormField(
    onChanged: this.widget.onChanged,
    maxLength: this.widget.maxLength,
    textAlign: TextAlign.center,
    keyboardType: this.widget.textInputType,
    controller: this.widget.controller,
    validator: this.widget.validator,     
    style: ThemeText.sign_up_input_field,  
      decoration: InputDecoration(
        counter: SizedBox.shrink(),
        errorBorder:OutlineInputBorder(
          borderSide: BorderSide(
            color: ThemeColor.flamingo,
            width: 1
          ),
        ),
      errorStyle: TextStyle(height: 0),
      hintText: this.widget.hintText,
      hintStyle:  ThemeText.sign_up_input_field_hint,
      border: new OutlineInputBorder(
        borderRadius: BorderRadius.circular(6.0),
        borderSide: BorderSide.none,
      ),
      filled: true,
      fillColor: ThemeColor.white
    ),
  ),
)

验证器:

validator: (String value){
  if (!Validator.email(value)){
    return "error";
  }
  return null;
}

显示“错误”标签,但不显示边框 Color.Flaming。

标签: flutter

解决方案


您是否尝试过 errorBorder 属性?例子:

errorBorder: OutlineInputBorder(
                      borderRadius: BorderRadius.circular(6.0),
                      borderSide: BorderSide.none,
                    ),

推荐阅读