标签: validationerror

在Django中模型的save方法中引发验证错误

我不确定如何在模型的保存方法中正确引发验证错误,并向用户发回明确的消息.

基本上我想知道"if"的每个部分应该如何结束,我想要引发错误的部分和它实际保存的部分:

def save(self, *args, **kwargs):
    if not good_enough_to_be_saved:
        raise ValidationError
    else:
        super(Model, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

然后我想知道该怎么做才能发送一个验证错误,该错误确切地告诉用户错误就像Django自动返回的那样,例如,如果某个值不唯一.我正在使用(ModelForm)并从模型中调整所有内容.

django validation model validationerror

56
推荐指数
3
解决办法
5万
查看次数

Django,在模板中显示ValidationError

我创建了一个注册应用程序,用户可以在其中注册提供用户名,电子邮件和密码.我所做的是确保电子邮件字段是唯一的(如下面的代码所示).但是,如果用户输入已在使用的电子邮件地址,我无法弄清楚如何显示错误.

视图

from django.shortcuts import render
from django.shortcuts import render_to_response
from django.http import HttpResponseRedirect
from django.core.context_processors import csrf

from forms import RegistrationForm

# Create your views here.
def register_user(request):
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('../../membership/register_success')
        else:
            return HttpResponseRedirect('../../membership/register_failed')

    args = {}
    args.update(csrf(request))

    args['form'] = RegistrationForm()

    return render(request,'registration/registration_form.html', args)

def register_success(request):
    return render_to_response('registration/registration_success.html')

def register_failed(request):
    return render_to_response('registration/registration_failed.html')
Run Code Online (Sandbox Code Playgroud)

形成

from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
from django.utils.translation import ugettext_lazy as …
Run Code Online (Sandbox Code Playgroud)

forms email django unique validationerror

19
推荐指数
3
解决办法
4万
查看次数

如何在codeigniter中使用重定向显示验证错误?

我一直处理一个问题.如何在函数中使用重定向设置验证错误?这是我控制器中的代码:

function send()
{
    $this->form_validation->set_rules('e-mail', 'Email', 'trim|required|valid_email');
    $this->form_validation->set_rules('cellphone', 'Cellphone Number', 'trim|required|is_natural');
    $this->form_validation->set_message('required', '%s is required.');
    $this->form_validation->set_message('valid_email', '%s is not a valid Email Address');
    $this->form_validation->set_message('is_natural', '%s can only contain numbers.');
    $this->form_validation->set_error_delimiters('<li>', '</li>');

    if($this->form_validation->run() == FALSE)
    {
        redirect ('/');
    }
    else
    {
        echo '<pre>';
        print_r($_POST);
        echo '<pre>';
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我在视图文件中使用的代码:

<? if (validation_errors())
{   
echo '<div id="validation_errors" title="Error:">';
echo '<div class="response-msgs errors ui-corner-all"><span>Errors:</span><br /><ul>';
echo validation_errors();
echo '</ul></div>';
echo '</div>';
}
?>
Run Code Online (Sandbox Code Playgroud)

validation codeigniter validationerror codeigniter-2

15
推荐指数
2
解决办法
3万
查看次数

可以粘贴 19 小时前的 Package-Lock.json 来修复“ValidationError:进度插件无效选项”(Vue 3)吗?

我正在使用 Vue 3,并且 19 小时前我将项目的一个运行良好的版本推送到了 GitHub。

大约5个小时后,当我输入时出现以下问题npm run serve,导致出现以下几行信息:

> zagnetic@0.1.0 serve

> vue-cli-service serve

INFO Starting development server...

然后出现以下错误:

ValidationError: Progress Plugin Invalid Options

options should NOT have additional properties
options should NOT have additional properties
options should NOT have additional properties
options should pass "instanceof" keyword validation
options should match exactly one schema in oneOf

    at validateOptions (/Users/mgav/zagnetic_vue/zagnetic/node_modules/webpack/node_modules/schema-utils/src/validateOptions.js:32:11)
    at new ProgressPlugin (/Users/mgav/zagnetic_vue/zagnetic/node_modules/webpack/lib/ProgressPlugin.js:62:3)
    at new Progress (/Users/mgav/zagnetic_vue/zagnetic/node_modules/progress-webpack-plugin/index.js:25:21)
    at new progressPlugin (/Users/mgav/zagnetic_vue/zagnetic/node_modules/progress-webpack-plugin/index.js:127:10)
    at /Users/mgav/zagnetic_vue/zagnetic/node_modules/webpack-chain/src/Plugin.js:14:18
    at Object.toConfig (/Users/mgav/zagnetic_vue/zagnetic/node_modules/webpack-chain/src/Plugin.js:78:22)
    at …
Run Code Online (Sandbox Code Playgroud)

validationerror vue.js package-lock.json vuejs3

10
推荐指数
1
解决办法
6632
查看次数

如何在Rails验证错误上突出显示字段

如何在Rails 3.1中的验证错误失败的字段中显示表单字段突出显示?我知道脚手架会自动生成css和控制器代码来处理这个问题,但我想知道是否有办法手动生成它.我已经通过以下方式实现了错误消息的字符串显示:@ user.errors.full_messages.each ...等,但我无法让字段以红色突出显示.有任何想法吗?

谢谢.

ruby validation ruby-on-rails validationerror

8
推荐指数
2
解决办法
1万
查看次数

使用f:viewParam和必需的属性和命令

我想分享我使用primefaces,f:viewParam和p:commandButton的经验,并提出几个问题.看一下这个页面:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">
  <h:head></h:head>
  <h:body>  
    <f:metadata>
      <f:viewParam required="true" name="id_file" value="#{bean.idFile}" />
    </f:metadata>
    <h:form id="tableform" prependId="false">              
      <p:commandButton actionListener="#{bean.myMethod())}" icon="ui-icon-search" title="View" />
    </h:form>
    <p:messages id="messages" showDetail="true" autoUpdate="true" closable="true" />      
  </h:body>
</html>
Run Code Online (Sandbox Code Playgroud)

支持bean有一个"myMethod()"方法,什么都不做.当您进入页面时,它需要"id_file"参数并将其放在辅助bean的idFile属性中.然后单击按钮,调用myMethod.然后再次单击,您会得到一个模糊的验证错误,并且永远不会调用myMethod:

j_idt1: Validation Error: Value is required.j_idt1: Validation Error: Value is required.
Run Code Online (Sandbox Code Playgroud)

首先,请记住,如果没有p:消息,您无法看到此消息,您必须挖掘primefaces在ajax调用上发送的XML.其次,经过4个小时的调试后,我试图改变f:viewParam,如下所示:

<f:viewParam name="id_file" value="#{bean.idFile}" />
Run Code Online (Sandbox Code Playgroud)

没有"必需":神奇地一切都开始工作,我可以点击1,2,3等,每次调用myMethod.所以,问题是ajax submit验证了用f:viewParam指定的参数,对我来说听起来很傻,但好吧,我可以忍受它.

我的问题是:

  • 为什么在第一次点击按钮时没有出现此验证错误?如果你看一下ajax POST,它们是完全相同的

  • 在部分ajax调用中验证视图参数(在我的想法中,属于视图)应该可以吗?

  • 有没有办法告诉primefaces不要对特定的ajax请求进行验证(process ="@ this"无法解决)?

谢谢,我希望我的经验能让您避免花费数小时进行调试!

ajax jsf validationerror primefaces jsf-2

6
推荐指数
1
解决办法
1390
查看次数

Codeigniter - 显示数组字段的单个错误消息

每个客户都有各自的详细信息.这是一个非常简单的例子.

<input type="text" name="customer_names[]" />

在codeigniter中,每个customer_name都是必需的
$this->form_validation->set_rules('customer_names[]','Customer Names','required');

如果任何客户名称为空,则validation_errors();显示整个阵列的一条消息.

如何为该客户获取个别错误消息?

注意: echo form_error('customer_names[0]');我正在尝试实现customer_name 0留空的位置.

validation html5 codeigniter validationerror

5
推荐指数
1
解决办法
2326
查看次数

Ruby on Rails - JS输入令牌,验证失败时的问题

我有一个可以有很多标签的公司模型.它工作正常,但有一次它不起作用.公司模型验证失败的时机.之后:render =>'edit'它不会在视图中显示标签.我怀疑data-pre没有正确地获取数据.我还希望在解决验证时保留标记.

我从这里得到了这个想法:http://railscasts.com/episodes/167-more-on-virtual-attributes

我使用输入令牌控件:http://loopj.com/jquery-tokeninput/

这就是我在公司模型中关于tag_tokens的内容:

  before_save :save_tag_tokens
  attr_writer :tag_tokens
  attr_accessible :tag_tokens

  def tag_tokens
    @tag_tokens || tags.to_json(:only => [:id, :name])
  end

  def save_tag_tokens
    if @tag_tokens
      @tag_tokens.gsub!(/CREATE_(.+?)_END/) do
        Tag.create!(:name => $1.strip.downcase).id
      end
      self.tag_ids = @tag_tokens.split(",")
    end
  end
Run Code Online (Sandbox Code Playgroud)

以下是视图中的代码:

  <div class="input text no-border">
    <% Tag.include_root_in_json = false %>
    <%= company_form.label :tag_tokens, t('form.account.company.edit.company_tags_html')%>
    <%= company_form.text_field :tag_tokens, :id => 'company_tag_tokens', "data-pre" => @company.tag_tokens%>
    <p class="tip"><%= t('form.account.company.edit.tag_tip') %></p>
  </div>
Run Code Online (Sandbox Code Playgroud)

编辑:

好的,所以我看到上面的代码有什么问题.

当我加载编辑页面数据预包含此:data-pre="[{&quot;id&quot;:1704,&quot;name&quot;:&quot;dump truck&quot;}]".当我提交带有验证错误的表单时,data-pre包含:data-pre="1704".

如果我将代码更改为:

def tag_tokens …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails validationerror jquery-tokeninput

5
推荐指数
1
解决办法
542
查看次数

PyTorch:在训练中添加验证错误

我正在使用PyTorch训练cnn模型。这是我的网络架构:

import torch
from torch.autograd import Variable
import torch.nn as nn
import torch.nn.functional as F
import torch.nn.init as I


    class Net(nn.Module):

        def __init__(self):
            super(Net, self).__init__()

            self.conv1 = nn.Conv2d(1, 32, 5)
            self.pool = nn.MaxPool2d(2,2)
            self.conv1_bn = nn.BatchNorm2d(32)
            self.conv2 = nn.Conv2d(32, 64, 5)
            self.conv2_drop = nn.Dropout2d()
            self.conv2_bn = nn.BatchNorm2d(64)
            self.fc1 = torch.nn.Linear(53*53*64, 256)
            self.fc2 = nn.Linear(256, 136)


        def forward(self, x):

            x = F.relu(self.conv1_bn(self.pool(self.conv1(x))))
            x = F.relu(self.conv2_bn(self.pool(self.conv2_drop(self.conv2(x)))))
            x = x.view(-1, 53*53*64)
            x = F.relu(self.fc1(x))
            x = F.dropout(x, training=self.training)
            x = self.fc2(x)

            return x …
Run Code Online (Sandbox Code Playgroud)

validationerror python-3.x keras pytorch

5
推荐指数
1
解决办法
5043
查看次数

Python棉花糖:字典验证错误

我对棉花糖很陌生,但我的问题是指处理类似 dict 的对象的问题。Marshmallow 文档中没有可行的示例。我在堆栈溢出原始问题中遇到了一个简单的例子,这是答案的原始代码,假设这应该很简单

from marshmallow import Schema, fields, post_load, pprint

class UserSchema(Schema):
    name = fields.String()
    email = fields.Email()
    friends = fields.List(fields.String())

class AddressBookSchema(Schema):
    contacts =fields.Dict(keys=fields.String(),values=fields.Nested(UserSchema))

@post_load
def trans_friends(self, item):
    for name in item['contacts']:
        item['contacts'][name]['friends'] = [item['contacts'][n] for n in item['contacts'][name]['friends']]


data = """
   {"contacts": { 
        "Steve": {
            "name": "Steve",
            "email": "steve@example.com",
            "friends": ["Mike"]
        },
        "Mike": {
            "name": "Mike",
            "email": "mike@example.com",
            "friends": []
        }
   }
}
"""

deserialized_data = AddressBookSchema().loads(data)
pprint(deserialized_data)
Run Code Online (Sandbox Code Playgroud)

但是,当我运行代码时,我得到以下 NoneType 值

`None`
Run Code Online (Sandbox Code Playgroud)

输入尚未编组。

我正在使用棉花糖 3.0.0b20 …

python orm validationerror marshmallow

5
推荐指数
1
解决办法
4377
查看次数