在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python/ 關于 flask-wtf 的錯誤提示問題?

關于 flask-wtf 的錯誤提示問題?

本人正在測試一個項目,基本思想就是在一個頁面里實現(xiàn)對“對象”的“增減刪改”。

下圖是添加一個“對象”

圖片描述

刪除一個“對象”如下圖:

圖片描述

如上圖所示,我們看到了“對象”被刪除了,但是出現(xiàn)了一些錯誤提示。

出現(xiàn)錯誤提示的原因是因為我使用了 flask-wtf 的表單驗證。

form.py內容如下:

class AddZoneForm(FlaskForm):
    name = StringField(u'單位名稱', validators=[DataRequired(),
                       Regexp(ur'^[\u4E00-\u9FFF]+$', flags=0, message=u'用戶名必須為中文')])
    status = SelectField(u'狀態(tài)', choices=[(u'True', u'正常'), (u'False', u'注銷') ])
    submit = SubmitField(u'添加單位')

    def validate_name(self, field):
        if Zone.query.filter_by(name=field.data).first():
            raise ValidationError(u'單位名稱已被注冊!')


class DeleteZoneForm(FlaskForm):
    zone_id = StringField()


class EditZoneForm(FlaskForm):
    name = StringField(u'單位名稱', validators=[DataRequired(),
                                            Regexp(ur'^[\u4E00-\u9FFF]+$', flags=0, message=u'用戶名必須為中文')])
    status = SelectField(u'狀態(tài)', choices=[(u'True', u'正常'), (u'False', u'注銷')])
    submit = SubmitField(u'修改單位')

    def validate_name(self, field):
        if Zone.query.filter_by(name=field.data).first():
            raise ValidationError(u'單位名稱已被注冊!')

html 頁面的部分 jinja2 代碼如下:

<!-- 錯誤信息form提示 -->
{% for field_name, field_errors in addZoneForm.errors|dictsort if field_errors %}
    {% for error in field_errors %}
        <div class="alert alert-danger alert-dismissible" role="alert">
            <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
            <strong>{{ addZoneForm[field_name].label }}錯誤:</strong> {{ error }}
        </div>
    {% endfor %}
{% endfor %}
<!-- 錯誤信息form提示 end -->

出現(xiàn)錯誤提示的問題是因為我在刪除對象的時候,上面代碼沒有獲取到 addZoneForm 表單的信息。刪除上面的代碼當然能解決問題,但是為了用戶的界面友好性,我復制上面的 jinja2 代碼,加上了對 deleteZoneForm的驗證。這時,問題就出現(xiàn)了,不管是增加“對象”還是刪除“對象”都會出現(xiàn)錯誤提示,因為出現(xiàn)了沖突。

那么,如何能夠在保證界面的用戶友好性,提示的信息越詳細越好的情況下,不出現(xiàn)那些不知所謂的錯誤。

回答
編輯回答
葬愛

前端渲染不用 wtforms自帶的組件渲染
自己寫 HTML,然后用 Ajax 返回提示信息

2017年9月24日 18:07