`
uuu999ggg
  • 浏览: 42511 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

admin form validate

阅读更多
class Foo(models.Model):          
    isstore = models.BooleanField(maxlength=200)          
    rowkey = models.CharField(maxlength=200)

  

 rowkey的验证,依赖与isstore,如果isstore为true,rowkey可以不能为空,反之可为空。

  

    第一次:重写了Model的clean()方法

                def  clean(self):

                       if .... :

                       raise ValidationError(u"不能为空")

    发现 验证生效,不过错误信息显示在表单最上面,没有出现在rowkey处

 

    第二次:重写了Model的 clean_fields()方法,因为该方法下面 有 errors[field.name] = e.messages

         怀疑这可能和 具体 field相关。不过最后发现不行,即使把这里的 重写为 pass 其他的验证依然有效,

   可知,is_valid()并没有调用该方法,而是用其他的方法进行验证

 

  第三次:参考了https://docs.djangoproject.com/en/dev/ref/forms/validation/ 和 google groups

  相关帖子, 发现有个人和我问题一样,最后得出在model里面定义验证不能反映到具体form中,

  于是修改 admin.ModelAdmin中的form

         

 

 

class TableForm(forms.ModelForm):
    def clean(self):
        self._validate_unique = True
        self._errors["rowkey"] = self.error_class(['okok'])
        return self.cleaned_data

 

 

 

 

 

 

1
1
分享到:
评论

相关推荐

    Laravel开发-bootstrap-form

    {{ Form::label('admin', 'Admin') }} {{ Form::checkbox('roles[]', 'editor', false) }} {{ Form::label('editor', 'Editor') }} ``` 总的来说,`Laravel-bootstrap-form` 包极大地简化了在Laravel项目中使用...

    vueelementui动态表单

    当表单提交时,可以通过调用`this.$refs.form.validate()`进行验证。 6. **表单提交与重置** 表单的提交通常会触发一个方法,该方法可能发送一个axios请求到服务器,处理数据并返回响应。表单的重置可以通过`this....

    cl-admin-crud:cool-admin crud组件

    cl-admin-crud cl-admin-crud是基于cool-admin的crud高阶组件预览地址项目地址文档地址版本1.6.8 cl-dialog...form添加validate,validateField方法1.3.1 cl-form调整折叠展示,添加标签提示1.3.0添加cl-form-tabs组

    python-admin:基于D2-admin的鉴权管理 Flask

    如果对您有帮助,请帮忙点右上角 "Star" 支持一下 谢谢! 预览 ...VUE 仓库地址 功能 管理员管理 菜单管理 角色管理 接口管理 ...tools/manage.py 为数据库版本控制...from validate import validate_form from validate.v1.

    基于Laravel-admin 后台的自定义页面用法详解

    $form = new Encore\Admin\Widgets\Form(); $form->action('send'); $form->text('title', '标题')->rules('required'); $form->textarea('content', '内容')->rules('required'); $content->body($form); ``` 在这...

    bootstrap ace_admin1.3.1 (最新版)

    Form elements Wysiwyg editor Wizard Customizable widgets Image gallery Pricing tables Invoice Inbox Timeline FAQ User profile Login, register and forgot password Error 404 and error 500 pages And a ...

    margento中from验证总结

    'class' => 'validate-admin-password', )); ``` #### 19. `class='validate-cpassword'` 用于验证确认密码是否与原始密码匹配: ```php $fieldset->addField('confirm_password', 'password', array( 'label' =>...

    d7ssnippets:Drupal 7 Sublime Snippets

    Sublime Text 2 Drupal 7 片段。 通过将代码片段复制到您的安装...theme 项目hook_form => hook_form + hook_form_validate + hook_form_submit hook_token => hook_token_info + hook_tokens 实现 + 注释hook_mail

    Python的Flask框架中实现分页功能的教程

    if form.validate_on_submit(): post = Post(body=form.post.data, timestamp=datetime.utcnow(), author=g.user) db.session.add(post) db.session.commit() flash('Your post is now live!') return ...

    js验证框架

    本项目提供的"js验证框架"是一个轻量级的解决方案,由几个关键文件组成,包括`jquery-1.4.2.min.js`、`validate.js`、`formFrame.js`和`form_add.css`以及`admin_add.jsp`。 首先,`jquery-1.4.2.min.js`是jQuery库...

    Flask-WTF表单的使用方法

    if form.validate_on_submit(): return 'Login successful!' return render_template('index.html', form=form) if __name__ == '__main__': app.run(debug=True) ``` 3. **渲染表单**: ```html <!-- ...

    flask视频网站(后台管理).pdf

    `form.validate_on_submit()`检查表单是否提交且验证成功。 6. **模板渲染**:使用`render_template`函数将表单对象`form`传入HTML模板`login.html`,在前端显示。 ### 标签管理 未提供具体细节,但通常涉及创建...

    jsp简单的登陆界面代码希望大家欣赏

    <form action="validate.jsp" method="post"> 用户名:<input type="text" name="myName"><br> 密码:<input type="password" name="myPass"><br> 登录"> </form> ``` 这部分代码负责展示登录界面,其中`...

    flask 实现简单的登录系统demo

    users = {'admin': 'admin123'} # 示例数据 return username in users and users[username] == password # 路由:显示主页 @app.route('/') def home(): return 'Welcome to the Home Page!' if __name__ == '_...

    点击发送短信验证码页面的代码

    phone = request.form.get('phoneNumber') if not validate_phone(phone): return jsonify({'success': False, 'message': '无效的手机号'}) # 模拟调用短信服务商API response = requests.post(SMS_API_URL,...

    struts1 用户登录(包含验证)

    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { LoginForm loginForm = (LoginForm) form; try { ...

    FlaskApp:没有管理页面的模板

    if form.validate_on_submit(): new_user = User(username=form.username.data) db.session.add(new_user) db.session.commit() return redirect(url_for('admin_users')) return render_template('create_...

    struts的错误处理

    if ("admin".equals(loginForm.getUsername()) && "admin".equals(loginForm.getPassword())) { // 成功 return mapping.findForward("success"); } else { // 失败 return mapping.findForward("failure"); ...

    Visual Studio 2005(C#)项目调试问题解决方案集锦

    1、检测到有潜在危险的Request.Form值 这个问题通常是因为validateRequest属性设置不当导致的。解决方案有两种:一是可以在.aspx文件的头部添加`<%@ Page validateRequest="false" %>`;二是修改web.config文件,将`...

    Struts与struts2比较学习

    <action path="/Login" type="com.example.LoginAction" name="loginForm" input="/login.jsp" validate="false"> ``` - **Struts2**: 使用`struts.xml`文件进行配置。 ```xml ...

Global site tag (gtag.js) - Google Analytics