@Entity
@Table(name = "students")
public class Student {
@NotNull
@Column(name = "age")
@Positive
@Digits(fraction = 0, integer = 10, message ="add a digit msg")
private int age;
// more codes below
}
控制器
package com.crudtest.demo.controller;
import com.crudtest.demo.model.Student;
import com.crudtest.demo.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@RestController
@RequestMapping("/api")
public class StudentController {
@Autowired
private StudentService studentService;
@PostMapping("/students")
public ResponseEntity<Student> createStudent(@Valid @RequestBody Student student) {
Student stud = studentService.create(student);
return new ResponseEntity<>(stud, HttpStatus.CREATED);
}
}
服务
@Service
public class StudentService {
@Autowired
private StudentRepository studentRepository;
public Student create(Student student) {
return studentRepository.save(student);
}
}
储存库
@Repository
public interface StudentRepository extends JpaRepository<Student, Long>
{}
我还尝试在这里添加自定义注释:
package //
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import javax.validation.Payload;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target(ElementType.FIELD) // inside field
@Retention(RetentionPolicy.RUNTIME)
public @interface AgeValidation {
String message() default "Age must be a number and not greater than 200.";
Class<?>[] groups() default {};
public abstract Class<? extends Payload>[] payload() default {};
}
class AgeValidationInterface implements ConstraintValidator<AgeValidation, Integer> {
@Override
public boolean isValid(Integer age, ConstraintValidatorContext constraintValidatorContext) {
return age > 0 && age < 200;
}
}
并且还更新了
//Student.java
@AgeValidation
private int age;
但同样的错误结果。
如何使用自定义验证对此进行验证?
这不起作用的原因与Spring试图将发布的有效负载反序列化为具体对象(即student
)时(通过Jackson)进行的类型转换有关。
您的有效负载应该包含符合反序列化条件的“1”
或1
(因为它们是有效数字)。提供的字符串不是有效的数字表示形式,因此进程失败,出现未处理的异常,从而导致“空白”响应。
您需要确保提供的JSON有效负载格式良好,并且有处理意外异常的好方法。
我正在使用wordpress 4.1与ACF v4。我有一个添加了自定义字段的自定义帖子类型,每次添加新类别时都需要添加新的自定义字段。如果我自动添加类别“轿车”,我必须添加自定义字段“轿车”。我可以使用插件函数执行此操作吗?或者我必须用代码,在数据库中插入来做到这一点?提前致谢!!
我正在尝试添加一个自定义字段到忍者表单(第3.3节)。到处都找不到完整的例子。 仔细查看代码,似乎过滤器'ninja_forms_register_fields'可以起到作用,但我无法让它在任何地方运行。
问题内容: 我创建了一个,并希望添加一个不属于我的模型的自定义字段。 我在此处找到了添加其他字段的说明,并尝试了以下操作: 当我添加此字段并调用我的函数时,则此字段不是字典的一部分。包含所有指定的模型字段,除了额外的字段。因此,我无法在覆盖的验证中访问此字段,可以吗? 当我将此字段添加到字段列表中时,如下所示: 然后我得到一个错误,因为它不是我的模型的一部分-正确的是因为我只想为此序列化器添加它。
我有一个简单的签名方法来签署工作正常的PDF文档,它使用显示名称、位置、日期和原因的默认戳记来签署文档。 现在我的经理问我是否可以在上面再添加一个字段。让我们假设这是一个“电子邮件”字段,因为我还没有被告知他们想要什么。 我试着搜索并应用我找到的一些东西,但没有任何效果。 此外,有人问我是否可以删除/隐藏这4个默认字段的标签(日期、原因等...),我无法管理这样做,也找不到任何关于它的东西,我不知
我正在尝试将添加到 Devise,但是当我注册一个新用户时,当我推送提交时它会中断。 我已确保运行< code>rake db:migrate并重新启动了我的服务器,但我得到了以下错误: ActiveRecord::StatementInvalid in Devise::RegistrationsController#create NoMethodError: nil:NilClass 的未定义方
我正在尝试根据是否已选中自定义复选框向签出添加费用。我真的很接近让这项工作,但我有问题获得后的价值观,以确定是否应申请或不收费。 以下是我自定义字段的代码: 这是可行的,而且字段显示得非常完美。 在我的主题中form-checkout.php的底部,我添加了以下javascript,以在检查字段时更新购物车总数: 这将更新订单总数并运行以下代码(这就是问题所在): 我知道这部分被调用是因为如果我去