我有一个用户可以输入数字的表单。用户应该只在表单中输入整数,并且有一个模型级验证来检查这一点。当然,数据以字符串形式出现在参数中,并由 Rails 转换为正确的数据类型 (int)。
如果用户在特定表单字段中输入不正确的数据(例如字母或小数),则验证不会通过并且表单将重新呈现。然而,当用户返回到表单时,输入的数据不会显示 - 转换数据出现在字段中。有没有什么方法可以在验证失败时在表单中类型转换之前显示属性?
我有三个整数,在作为命令行参数传入后分配给变量.我想验证每个整数是否在1-5范围内.有没有办法在Java中完成此操作而不使用如下所示的if语句?我想避免这样做(note-pseudocode):
if ((a & b & c) > 0 && (a & b & c) < 6) {
//blah blah
}
Run Code Online (Sandbox Code Playgroud)
主要是,如果将来添加额外的参数等,这将无法很好地扩展.是否有更优雅的方法来实现这一目标?
我正在尝试使用c0deformer的jQuery UI实现实现拖放(请参阅此处:http://codef0rmer.github.io/angular-dragdrop/#/ )拖动部分工作正常,但我似乎无法获得功能我在追求下降.在这个应用程序中,我希望能够将可拖动项目放在目标div中的任何位置,即,我不希望目标范围限于列表类型结构(或一组重复的div).主要是因为用户将动态拖动项目,并且无法知道用户将提前拖放多少项目.
我已经在网上搜索过,并且在Angular中找不到使用拖放的示例而没有有效地从一个列表拖动到另一个列表.可以这样做吗?如果是这样,我不确定在拖动项目后如何适当地更新范围.在下面的示例代码中,已删除的项目将被推入第二个列表的范围,并应用新范围.理想情况下,丢弃项目的范围是我上面提到的目标div.我是Angular的新手,所以任何建议都非常值得赞赏.
来自c0deformer的片段:
app.directive('droppable', function($compile) {
return {
restrict: 'A',
link: function(scope,element,attrs){
//This makes an element Droppable
element.droppable({
drop:function(event,ui) {
var dragIndex = angular.element(ui.draggable).data('index'),
dragEl = angular.element(ui.draggable).parent(),
dropEl = angular.element(this);
console.log(dropEl);
if (dragEl.hasClass('list1') && !dropEl.hasClass('list1') && reject !== true) {
scope.list2.push(scope.list1[dragIndex]);
scope.list1.splice(dragIndex, 1);
} else if (dragEl.hasClass('list2') && !dropEl.hasClass('list2') && reject !== true) {
scope.list1.push(scope.list2[dragIndex]);
scope.list2.splice(dragIndex, 1);
}
scope.$apply();
}
});
}
};
});
Run Code Online (Sandbox Code Playgroud)