小编Dav*_*ett的帖子

无效事件侦听器未激活的html5验证

我的html中有一个带有以下标记的表单

<form>
    <input type="text" name="fname" required>
    <input type="submit" value="Submit">
</form>
Run Code Online (Sandbox Code Playgroud)

我还有两个脚本标签,一个用于jquery,另一个用于我的javascript,我称之为validate.js

<script src="jquery-2.1.4.min.js"></script>
<script src="validate.js"></script></body>
Run Code Online (Sandbox Code Playgroud)

当我将以下代码放入我的validate.js文件并提交无效数据时.该页面按预期警告"无效".

$("form input").on("invalid", function() {
     alert("invalid");
});
Run Code Online (Sandbox Code Playgroud)

当我在validate.js中使用此代码时,当我单击输入时,页面再次按预期运行,此时警告"单击".

$("body").on("click", "form input", function(){alert("click");});
Run Code Online (Sandbox Code Playgroud)

但是,以下代码不起作用.提交无效数据时,无效事件处理程序不会触发,并且"无效"不会被警告.

$("body").on("invalid", "form input", function(){alert("invalid");});
Run Code Online (Sandbox Code Playgroud)

我想这样做,因为在我的应用程序中,我从ajax请求向我的页面添加一个表单,因此我想将事件处理程序附加到正文而不是表单本身.有什么理由不行吗?

validation jquery html5

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

2 个不同类中使用的拥有类型的 EF Core 配置问题

我正在使用实体框架核心,我想在 2 个不同的类中使用相同的拥有类型。这通常很好,但就我而言,我遇到了错误。

我正在使用 MySql 数据库,要求所有布尔值都映射到数据库中列类型为tinyint(1) 的字段。为了在我的 OnModelCreating 方法中实现这一点,我循环遍历所有属性,如果属性是布尔值,我将其映射到tinyint(1)。然而,一旦我在两个不同的类中使用相同的拥有类型,我就会收到错误。

下面我编写了一个演示程序来显示我的问题。重新创建它所需的只是 2 个表、组织和联系人。两者都有字段 id、街道和家庭。为了使用 MySQL,我安装了 nuget 包 MySql.Data.EntityFrameworkCore (v8.0.17)。我已在 .net core 2.2 控制台应用程序中运行代码。

using Microsoft.EntityFrameworkCore;
using System;
using System.Linq;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;

namespace MyDemo
{
    class Program
    {
        static void Main(string[] args)
        {
           using(var ctx = new MyDbContext())
            {
                var contact = new Contact
                {                
                    Address = new Address
                    {
                        Street = "x",
                        Home = true
                    }
                };
                ctx.Contacts.Add(contact);
                ctx.SaveChanges();
            }
        }
    }


    public class MyDbContext: DbContext
    {
        public MyDbContext()        
        {

        } …
Run Code Online (Sandbox Code Playgroud)

c# mysql ef-core-2.2

4
推荐指数
1
解决办法
5444
查看次数

在 Razor 形式中使用 Datepicker - ASP.NET MVC

我有一个我喜欢并且有效的日期选择器。它显示为一个与表单的其余部分一致的整洁的框,单击该框会提示一个日期选择器组件,当选择日期时,会填充一个文本框。

标记:

<div class="form-group">
    <div id="datepicker-group" class="input-group date" data-date-format="dd/mm/yyyy">
        <input class="form-control" name="data" type="text" />
        <span class="input-group-addon"><i class="glyphicon glyphicon-calendar"></i></span>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

jQuery

 <script>    
        $(document).ready(function() {
            $("#datepicker-group").datepicker({
                format: "dd-M-yyyy",
                todayHighlight: true,
                autoclose: true,
                clearBtn: true
            });
        });
 </script> 
Run Code Online (Sandbox Code Playgroud)

我还有一个正在构建的表单@Html.BeginForm,模型中的其他属性通过自由文本字段分配其值,@Html.TextBoxFor这很简单。如何将此日期选择器 div 放入可分配给我的StartDate属性的表单字段中?除了能够单击该框并弹出日期选择器组件的功能之外,我还想保留当前日期选择器框的外观​​和感觉。

asp.net asp.net-mvc razor asp.net-mvc-5

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

linq orderby查询if语句

我正在尝试做一些代码,基本上说是做搜索,如果orderByLastName是按姓氏为真的顺序,如果是按名字的假顺序.

if(orderByLastName)
{
    var query = from p in db.People
                orderby p.LastName
                select new {Name = p.FirstName + " " + p.LastName}
}
else
{
     var query = from p in db.People
                orderby p.FirstName
                select new {Name = p.FirstName + " " + p.LastName}
}
Run Code Online (Sandbox Code Playgroud)

以上代码是我尝试完成此操作.它不起作用,因为查询不存在于if上下文之外,这显然是坏的!而且我很确定代码违反了干法原则.有人能看到更好的方式吗?谢谢.

c# linq

0
推荐指数
1
解决办法
642
查看次数