在Laravel项目中,我遇到了以下情况:
所以,
我遇到the nice bit of code来保存部分验证,并使用它。
$('.actions a[href="#next"]').on('click', function() {
var the_form = $("#inspect-application");
// for testing purpose, just passed the first step's ID
if (the_form.validate().subset('#inspect-application-p-0')) {
the_form.ajaxSubmit();
}
});
表单正在提交数据并保存数据。但是......
实际上,当其他步骤中的所有字段都为空时,它不起作用。因此,该方法无法设法跳过其他步骤的那些字段。这意味着代码正在编辑模式,但不是在添加模式。
然后我遇到了this one: adding and removing classes to the steps。但实际上它没有用。
$('.actions a[href="#next"]').on('click', function() {
var the_form = $("#inspect-application");
$("#inspect-application-p-0").removeClass("ignore");
$("#inspect-application-p-1").addClass("ignore");
the_form.valid();
the_form.ajaxSubmit();
});
对类(甚至我添加ignore: 'input[type=hidden], .select2-search__field, .ignore',
)没有影响到jQuery验证。
this gist中提供的详细信息中的代码。
现在我正在尝试使用onStepChanging
添加和删除类,例如onStepChanged
,Random rnd = new Random();
var modeldata =
Db.ExamQuestions.Include("ListofOptions").Where(x => x.FkExamId == model.ExamId).Select(q => new QuestionViewModel
{
QuestionId = q.ID,
QuestionDescription = q.QuestionDescription,
ExamId = q.FkExamId,
CorrectOption = q.CorrectOption,
ListofOption = q.ListofOptions.Select(o => new QuestionOptionViewModel
{
OptionA = o.OptionA,
OptionB = o.OptionB,
OptionC = o.OptionC,
OptionD = o.OptionD
}).ToList(),
RndOrder = rnd.Next(1, maxNumber)
}).OrderBy(q => q.RndOrder).ToList();
等等。这样我至少可以尝试忽略其他字段。
如果你认为,我的方向错误,任何可能的解决方案都会让你感到高兴。