小编Qpi*_*ate的帖子

FluentValidation调用RuleSet和Common Rules

我有以下课程

public class ValidProjectHeader : AbstractValidator<Projects.ProjectHeader>
    {
        public ValidProjectHeader()
        {

            RuleFor(x => x.LobId).Must(ValidateLOBIDExists);
            RuleFor(x => x.CreatedByUserId).NotEmpty();
            RuleFor(x => x.ProjectManagerId).NotEmpty();
            RuleFor(x => x.ProjectName).NotEmpty();
            RuleFor(x => x.SalesRepId).NotEmpty();
            RuleFor(x => x.DeliveryDate).NotEmpty();
            RuleFor(x => x.ProjectStatusId).NotEmpty();
            RuleFor(x => x.DeptartmentId).NotEmpty();
            RuleFor(x => x.CustomerId).NotEmpty();

            RuleSet("Insert", () =>
            {
                RuleFor(x => x.ProjectLines).Must(ValidateProjectLines).SetCollectionValidator(new ValidProjectLine());
            });
            RuleSet("Update", () =>
            {
                RuleFor(x => x.ProjectLines).SetCollectionValidator(new ValidProjectLine());
            });


        }
Run Code Online (Sandbox Code Playgroud)

我想要做的是用rulset调用验证,但我还想在使用RuleSet调用验证时返回"常用"规则.

我调用验证的代码如下

public abstract class BaseValidator
    {
        private List<ValidationFailure> _errors;
        public bool IsValid { get; protected set; }
        public List<ValidationFailure> Errors
        {
            get { …
Run Code Online (Sandbox Code Playgroud)

c# fluentvalidation

9
推荐指数
2
解决办法
1万
查看次数

JQueryUI Dialog TinyMCE问题

我在使用TinyMCE(V3.4.7)和JqueryUI(V1.8.14)对话框时遇到了一些问题

下面的Fiddler链接在这里完美地展示了我的例子

我想要做的是打开一个带有TinyMCE WYSIWYG编辑器的JqueryUI对话框.

第一次正确显示.但是如果你点击关闭然后重新打开它,它将不会显示编辑器而只显示TextArea.

任何帮助都会很好.谢谢

更新

我找到了一个适合我的解决方案,我在这里提出了工作代码 我正在做的是检查对话框是否已经打开过,如果只是打开它,那么在Open Function i test中看看如果框中包含一个id为 _parent 的元素,那么这将是编辑器(所以什么也不做),否则只是像往常一样初始化.

似乎JQuery插件存在问题,因为它在调用tinyMCE.execCommand('mceRemoveControl',false,'editor_id')时不会删除元素,并且当您重新添加编辑器时它会附加到第一个可用的框中.

tinymce jquery-ui-dialog

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

检查Checkbox的JQuery Check

只要选中复选框,该函数始终返回false.我真的无法打击我做错了什么.我正在使用复选框来启用和禁用gridview中的文本框.但是,它似乎不起作用.谢谢您的帮助.我在下面发布了html和jq代码.

HTML代码:

<asp:GridView ID="grdFees" runat="server" AllowPaging="false" CssClass="Grid" AutoGenerateColumns="false" EmptyDataText="No Data Found" EmptyDataRowStyle-HorizontalAlign="Center" EmptyDataRowStyle-CssClass="gridItem" TabIndex="5">
<Columns>
<asp:TemplateField HeaderText="Select" HeaderStyle-HorizontalAlign="center"
                                ItemStyle-HorizontalAlign="center" ItemStyle-Width="2%">
                                <ItemTemplate>
                                    <asp:CheckBox ID="chkselect" runat="server" CssClass="checkbox" 
                                    Width="15px" Checked="false" />
                                </ItemTemplate>
                            </asp:TemplateField>

</Columns>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)

Jquery代码:

$(document).ready(function() 
    {
        $(".checkbox").click(function()
        {
        if ($(this).is(":checked")) 
        {
            alert("true");
        }else
        {
            alert("false");
        }
});
Run Code Online (Sandbox Code Playgroud)

checkbox jquery gridview

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

覆盖Ajax Success事件

我试图覆盖jQuery ajax函数来处理成功事件的默认操作,但也执行我在options参数中使用的回调函数.目的是在响应中返回标记,我总是希望从响应中删除以便在其他地方使用.

场景是:

  • Ajax提交
  • Ajax成功
  • - 违规成功行动
  • - 调用Ajax成功回调

有人可以帮忙吗?我试过扩展

  • jQuery.ajax
  • jQuery.ajaxSuccess
  • jQuery.ajax.done

我的代码是:

var _ajaxSuccess = jQuery.fn.ajaxSuccess;  
$.fn.extend({  
    ajaxSuccess: function (a)  
    {  
        _ajaxSuccess.apply(this, a);  
    }  
});
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery

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

检查数组中是否存在密钥

我目前在从数组中获取不同的值列表时遇到一些问题.

我正在寻找的东西会给我一些表格中的不良价值

我有以下项目数组

[{"Office":"abc", "Name":"ABC", "Total":0},
{"Office":"def", "Name":"DEF", "Total":11},
{"Office":"def", "Name":"DEF", "Total":1},
{"Office":"ghi", "Name":"GHI", "Total":1111}]
Run Code Online (Sandbox Code Playgroud)

我正在寻找以下输出,这是一个不同的办事处清单,每个办事处的实例数量.

[
    {"office":"abc","count":1},
    {"office":"def","count":2},
    {"office":"ghi","count":1}
]
Run Code Online (Sandbox Code Playgroud)

以下我试过的是

ko.utils.arrayForEach(officeLines, function (item, indx)
{
    var office = item.Office;
    if (test[office] == null)
    {
        test.push({ office: office, count: 1 });
    }
    else
    {
        test["office"][office] += 1;
    }
});
Run Code Online (Sandbox Code Playgroud)

但这给了我Office原始数组中每个项目的单个项目.

javascript json

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