$("#new_component_form").validate({
errorClass: 'input-error',
rules : {
"comp_data[account_name]" : {
required: true,
remote: {
url: "/validate",
data: {
provider: 'twitter'
}
}
}
},
onsubmit: true,
onfocusout: false,
onkeyup: false,
onclick: false
});
$("#new_component_form").submit(function(){
console.log($(this).valid());
Run Code Online (Sandbox Code Playgroud)
即使值无效,此输出也为true.我看到验证最终失败并显示错误消息,但表单仍然提交.
模型....
@Digits(integer=5, fraction=0, message="The value must be numeric and less than five digits")
private int value;
Run Code Online (Sandbox Code Playgroud)
豆文件....
<mvc:annotation-driven />
Run Code Online (Sandbox Code Playgroud)
控制器....
@RequestMapping(value = "/admin/save.htm", method = { RequestMethod.POST })
public ModelAndView saveSection(@Valid @ModelAttribute Section section, BindingResult result) {
if(result.hasErrors()) {
return new ModelAndView("admin/editSection", "section", section);
}
Run Code Online (Sandbox Code Playgroud)
如何将"价值"限制在数字范围内?如果我输入的不是数字,我会收到此错误:
无法将类型为java.lang.String的属性值转换为属性值所需的java.lang.Integer类型; 嵌套异常是org.springframework.core.convert.ConversionFailedException:无法将类型java.lang.String中的值"A"转换为java.lang.Integer类型; 嵌套异常是java.lang.IllegalArgumentException:无法解析A.
我看过一些提到initBinding的帖子,但我不确定如何使用它,或者它是否会帮助我.这必须在以前解决.有没有办法确保它在绑定之前是一个数字?
或者,如果有人可以发布正确的messages.properties条目来覆盖此错误,那也可能对我有用.
I tried @Pattern but that doesn't work on ints
此问题特别与覆盖具有大量字段的对象的equals()方法有关.首先,让我说这个大型对象不能在不违反OO原则的情况下分解为多个组件,因此告诉我"没有类应该有超过x个字段"将无济于事.
继续前进,当我忘记检查其中一个字段是否相等时,问题就开始了.因此,我的equals方法不正确.然后我想用反射:
--code removed because it was too distracting--
Run Code Online (Sandbox Code Playgroud)
这篇文章的目的不一定是重构代码(这甚至不是我正在使用的代码),而是得到关于这是否是一个好主意的输入.
优点:
缺点:
有什么想法吗?
我的一个同事让我查看我的一些代码,他给我发了一个差异文件.我不是一般的差异或版本控制的新手,但由于他所做的改变,差异文件很难阅读.具体来说,他使用了"提取方法"功能并重新排序了一些方法.从概念上讲,很容易理解,但看到差异,很难说出他做了什么.我更容易检查以前的版本并使用Eclipse的"比较"功能,但它仍然非常笨重.
是否有任何版本控制系统存储与重构相关的元数据.当然,它将特定于IDE和编程语言,但我们都使用Eclipse和Java!也许可能有一些标准可以让IDE和版本控制实现很好地发挥作用?
Project
has_many :tasks
Task
has_many :invoices, :through => :line_items
has_many :line_items
LineItems
belongs_to :invoice
belongs_to :task
Invoice
has_many :tasks, :through=> :line_item
has_many :line_items
Run Code Online (Sandbox Code Playgroud)
我正在尝试从Project has_many获取关联:发票,:through =>:tasks
当我尝试时,我得到:
源反射宏无效:has_many:for for has_many:invoices,:through =>:tasks.使用:source指定源反射.
如果可能的话,我有点不知所措,如果是这样,如何使用:来源正确
private void activateRecords(long[] stuff) {
...
api.activateRecords(Arrays.asList(specIdsToActivate));
}
Run Code Online (Sandbox Code Playgroud)
不应该调用Arrays.asList返回一个Long
s 的列表吗?相反,它正在返回List<long[]>
public static <T> List<T> asList(T... a)
Run Code Online (Sandbox Code Playgroud)
方法签名与结果一致,varargs将整个数组抛出到列表中.它是一样的,new ArrayList(); list.add(myArray)
是的,我知道它的意思是这样使用:Arrays.asList(T t1, T t2, T t3)
我想我得到的是,而不是varargs形式,为什么我不能只使用我的旧asList方法(至少我认为这是它以前的工作方式),它将获取内容并将它们单独放入一个列表?这样做还有其他干净的方法吗?
<%= select_tag 'pseudo-attribute', options_for_select(...), :include_blank => 'Nowhere'%>
Run Code Online (Sandbox Code Playgroud)
这个标签曾经包含一个带有"Nowhere"的空白选项,但现在文本框是空白的,有人知道为什么会这样吗?
假设我有一个查询"select*from where where where in(0,2,5,1,3)",我实际上希望以相同的顺序返回它们指定where子句的行.ID的顺序将从查询更改为查询,并且订单没有模式.
我知道可以改变数据模型,创建临时表等.但请相信我,这些类型的解决方案在我的情况下不起作用.我也无法改变应用程序代码中结果对象的顺序.
我也知道不同的数据库引擎对事物的排序方式不同,在某些情况下无法保证等等等等.我只想不,这可能吗?
如果有帮助我将使用mysql或sql server :)
java ×3
activerecord ×1
eclipse ×1
equals ×1
generics ×1
jquery ×1
mysql ×1
reflection ×1
sorting ×1
spring ×1
spring-mvc ×1
sql ×1
sql-server ×1
svn ×1
validation ×1