小编sen*_*ett的帖子

asp.net - 从另一个事件手动运行客户端验证代码

我想运行任何客户端验证例程连接到特定的文本输入元素.

已使用CustomValidator以下方式设置验证:

<asp:textbox id="AddEstTime" runat="server" Width="55px"></asp:textbox><br />
<asp:CustomValidator ID="AddEstTimeCustomValidator" ClientValidationFunction="AddEstTimeCustomValidator_ClientValidate" OnServerValidate="AddEstTimeCustomValidator_ServerValidate" ErrorMessage="Please enter a time" ControlToValidate="AddEstTime"  runat="server" Display="Dynamic" ValidateEmptyText="true"/>
<asp:CheckBox ID="AddIsTM" runat="server" Text="T&amp;M" />
Run Code Online (Sandbox Code Playgroud)

和javascript:

function AddEstTimeCustomValidator_ClientValidate(sender, args) {
    var checkbox = $("input[id$='IsTM']");
    args.IsValid = checkbox.is(":checked") || args.Value.match(/^\d+$/);
}
Run Code Online (Sandbox Code Playgroud)

CheckBox"AddIsTM"状态的变化,我想重新验证textbox"AddEstTime",利用其钩取CustomValidator"AddEstTimeCustomValidator".

我知道焦点 - >添加一个字符重新聚焦 - >删除字符.我想找到一个更正确的方法.asp.net新手.

asp.net customvalidator

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

无法从Process.Start运行命令

我可以从命令行运行这个:

C:\Windows\System32\rundll32.exe "C:\Program Files (x86)\Windows Photo Viewer\PhotoViewer.dll", ImageView_Fullscreen  C:\Users\Public\Pictures\Sample Pictures\Chrysanthemum.jpg
Run Code Online (Sandbox Code Playgroud)

图像打开没问题.

但是,当我尝试这样做时:

exe = "C:\\Windows\\System32\\rundll32.exe \"C:\\Program Files (x86)\\Windows Photo Viewer\\PhotoViewer.dll\", ImageView_Fullscreen  C:\\Users\\Public\\Pictures\\Sample Pictures\\Chrysanthemum.jpg";
Process.Start(exe);
Run Code Online (Sandbox Code Playgroud)

我得到了

System.ComponentModel.Win32Exception:系统找不到指定的文件

我已尝试在命令行和C#上使用引号,并且都不使用它们.根据我最近读到的答案,不应该引用最后一部分.

这是怎么回事?

.net c#

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

从ASP.NET MVC Web API返回400而不是404

我使用VS2012创建了ASP.NET MVC Web API项目的hello世界:

public class ValuesController : ApiController
{
    // GET api/values
    public IEnumerable<string> Get()
    {
        return new string[] { "value1", "value2" };
    }

    // GET api/values/5
    public string Get(int id)
    {
        return "value";
    }
}
Run Code Online (Sandbox Code Playgroud)

向该控制器发出一个get请求会返回一些状态为200的数据XML.到目前为止一切都很好.

当我删除该方法时,如下所示:

public class ValuesController : ApiController
{
    // GET api/values
    //public IEnumerable<string> Get()
    //{
    //    return new string[] { "value1", "value2" };
    //}

    // GET api/values/5
    public string Get(int id)
    {
        return "value";
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我找不到404.我想要的是400坏请求,因为必须提供ID.我怎样才能做到这一点?

asp.net-mvc-4 asp.net-web-api

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

Squire.js在使用商店时不会替换假依赖

我正在尝试将Squire.js作为RequireJS的依赖加载器.使用完全正常的Web浏览器运行单元测试.我想用来store处理我的嘲笑.但无法阻止Squire加载实际模块.

mock 工作良好:

define(['lib/squire'], function (squire) {
    var injector = new squire();

    injector
    .mock('modules/dependency', {
        run: function () {
            console.log("fake dependency run");
        }
    })
    .require(['modules/module-under-test'], function (module) {
        module.run();
    });
});
Run Code Online (Sandbox Code Playgroud)

控制台输出

module under test loaded       module-under-test.js:2
module under test run          module-under-test.js:5
fake module run                module-test.js:8
Run Code Online (Sandbox Code Playgroud)

但是当我这样使用时store:

define(['lib/squire'], function (squire) {
    var injector = new squire();

    injector
    .store('modules/dependency')
    .require(['modules/module-under-test', 'mocks'], function (module, mocks) {
        mocks.store["modules/dependency"] = {
            run: function () {
                console.log("fake dependency run");
            }
        }; …
Run Code Online (Sandbox Code Playgroud)

javascript mocking requirejs squirejs

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

Global React在AMD React中表现不佳

React页面上已经存在全局变量时,使用AMD加载的React渲染组件时,我得到了奇怪的怪异行为。组件上的点击事件在不应该触发时会被触发。

对DOM的观察表明,这是由于多个React实例(一个全局实例,在我的情况下是一个AMD)彼此不了解而引起的,但这在依赖于React的运行时将AMD模块加载到页面中时会出现问题还包括React。

我该如何解决这种冲突?

再生产

我可以制作一个像这样的组件:

var ButtonComponent = React.createClass({
  onButtonClick: function(){
    alert(this.props.data + ' click event fired');
  },
  render: function() {
    return React.DOM.button({onClick: this.onButtonClick}, this.props.data);
  }
});

(function(){ // create vanilla

  var ButtonList = React.createClass({
    render: function() {
      return React.DOM.div({}, React.createElement(ButtonComponent, {data: this.props.data}));
    }
  });

  React.render(React.createElement(ButtonList, {data: 'button that was loaded by the page'}), document.getElementById('page-load-target'));

})();
Run Code Online (Sandbox Code Playgroud)

jsbin

但是,一旦我使用React的另一个实例添加另一个组件,然后单击第一个按钮,然后它将在第二个加载的按钮上调用click事件:

// .... as above ....

(function(){ // create using amd

  require.config({
    paths: {
      'react': '//fb.me/react-with-addons-0.12.2.min'
    }
  });

  window.setTimeout(function(){ 
    require(['react'], function(ReactFromAmd){ …
Run Code Online (Sandbox Code Playgroud)

amd reactjs

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

单元测试自定义 Symfony 表单类型

我想对自定义的验证进行单元测试FormTypeInterface

我有一个自定义表单类型设置如下:

class HiddenFieldType extends AbstractType
{

    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('name', 'text', [
            'constraints' => [
                new NotBlank([
                    'message' => 'hiddenfield-invalid'
                ])
            ]
        ]);
    }

    public function getName()
    {
        return 'hiddenfield';
    }
}
Run Code Online (Sandbox Code Playgroud)

我想通过实例化表单对象来测试约束是否成立。从Symfony 文档中,我想出了这个:

public function testValidation()
{
    $formData = [
        'name' => null // blank value
    ];

    $hiddenFieldType = new HiddenFieldType();
    $form = $this->factory->create($hiddenFieldType);

    // submit the data to the form directly
    $form->submit($formData);

    var_dump($form->isValid()); die;
}

// factory is set …
Run Code Online (Sandbox Code Playgroud)

php unit-testing symfony-forms symfony

5
推荐指数
0
解决办法
857
查看次数

Chrome 开发者工具分析器显示不同数量的方法调用与 console.log

我在 Chrome 中使用开发工具的配置文件选项卡。在配置文件中,我看到一个resizeDocument名为 6+ 次的函数条目,值为 113ms、17ms、45ms 等。相同的行号、相同的文件、相同的所有内容。

当我从控制台内部resizeDocument函数登录时,我只能得到一个条目。到底是怎么回事?

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

javascript google-chrome performancecounter google-chrome-devtools

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

在asp.NET正则表达式验证控件中重用表达式

我在ascx文件中有这个:

<asp:textbox ID="AddHourlyRate" runat="server" width="55px" />
<asp:RegularExpressionValidator  ID="AddHourlyRateRegexValidator"
    ErrorMessage="Please enter a valid charge rate (whole number only)" 
    ValidationExpression="^\$?[0-9]+(\.[0]{2})?$" ControlToValidate="AddHourlyRate" 
    Display="Dynamic" runat="server" />
Run Code Online (Sandbox Code Playgroud)

如何ValidationExpressionasp:RegularExpressionValidator不必复制粘贴正则表达式的情况下重用其他s?我是asp.NET的新手.

asp.net ascx

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

视觉工作室解决方案中的工件是什么?

希望是一个简单的问题.

视觉工作室解决方案中的工件是什么?他们在做什么?有哪些常见的部署模式?

.net deployment teamcity artifact visual-studio

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

通配模式可排除目录中的文件,但包含子目录

我具有以下文件层次结构:

scripts
    someConfigFile.js
    anotherConfigFile.js

    someModuleDirectory
        someModule.js

    anotherModuleDirectory
        anotherModule.js

        subDirectory
            thirdModule.js
Run Code Online (Sandbox Code Playgroud)

我想匹配模块目录中的所有文件,但scripts使用Glob排除目录中包含的配置文件:

var glob = require('glob');

console.log(glob.sync(unknownGlobPattern));
Run Code Online (Sandbox Code Playgroud)

所需输出(无序):

[
    'someModuleDirectory/someModule.js',
    'anotherModuleDirectory/anotherModule.js',
    'anotherModuleDirectory/subDirectory/thirdModule.js'
]
Run Code Online (Sandbox Code Playgroud)

glob

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

如何检查两个正则表达式是否相同?

如果是 JavaScript,/\.scss$/则为正则表达式。我想检查一个正则表达式是否与另一个正则表达式完全相同:

/\.scss$/ === /\.scss$/ // false
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?请注意,我不关心正则表达式匹配什么,我只关心正则表达式的定义方式。

javascript regex equality

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

从组合字符串文字类型创建类型

我有如下三种 Typescript 类型:

type Mum = {
  stage: "here" | "are" | "some" | "stages";
};

type Dad = {
  stage: "more" | "steps" | "that" | "could" | "happen";
};

type Child = Mum | Dad;
Run Code Online (Sandbox Code Playgroud)

我有一个消耗的函数Child

function myFunc(person: Child): void {
  switch (person.stage) {
    case "here":
    //doThings();
  }
}
Run Code Online (Sandbox Code Playgroud)

但我不想传递整个Child类型,只想传递stage. 如何更改此函数签名,以便它接受 astage而不使用any,或保留字符串文字的手动副本 about ?

function myFunc(stage: any): void {
  switch (stage) {
    case "here":
    //doThings();
  }
}
Run Code Online (Sandbox Code Playgroud)

typescript

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