我正在使用requirejs将项目转换为webpack,并且遇到了"html-loader"加载器的问题.
的package.json:
"html-loader": "^0.3.0",
"webpack": "^1.11.0",
"webpack-dev-server": "^1.10.1"
Run Code Online (Sandbox Code Playgroud)
应用程序/ JS/webpack.config.js:
// folder structure:
// root
// app/js
// bower_components/
// dist/
// node_modules/
entry: './app/js/main.js',
output: {
path: 'dist/js/',
filename: 'bundle.js',
},
module: {
loaders: [
// Note, via requirejs's "text" plugin, I included templates
// like this: var tpl = require('text!sample.html');
// For webpack, I went through the codebase and cleaned up
// every instance of "text!".
{test: /\.html$/, loader: 'html'}
]
},
resolve: {
root: ['app/js', 'bower_components'],
alias: …Run Code Online (Sandbox Code Playgroud) 我正在使用Backbone构建一个表单,并希望在"模糊"事件中验证其字段.
连接到事件很容易,但我很好奇的是模型是否应该在模糊时更新或仅在表单提交时更新?
在模糊上更新模型
model.set({...}, {validate:true});在提交时更新模型
model.set()用于验证,因此模型需要暴露一些验证方法(例如MyModel.validZip())set()需要调用以更新模型,这将导致验证再次发生(不完全确定这是坏事)我已经通过了几个有关骨干GitHub的问题(读1,2,3)和骨干开发者似乎得出一个模型和形式之间的线路.
此外,Backbone.Form插件似乎保留内部fields属性以跟踪表单字段,完成后,调用.commit()以更新模型.
因此,似乎在提交时更新模型是更好的方法.那是你的体验吗?
看来(PHP 5.3),如果你重写了一个类方法, 没关系 您可以添加其他参数,只要它们具有默认值即可.
例如,考虑一下这个类:
class test1 {
public function stuff() {
echo "Hi";
}
}
Run Code Online (Sandbox Code Playgroud)
以下类扩展"test1"并将生成E_STRICT警告.
class test2 extends test1 {
public function stuff($name) {
echo "Hi $name";
}
}
Run Code Online (Sandbox Code Playgroud)
但是,以下内容不会产生E_STRICT警告.
class test3 extends test1 {
public function stuff($name = "") {
echo "Hi $name";
}
}
Run Code Online (Sandbox Code Playgroud)
虽然类"test3"没有产生E_STRICT警告,但我一直认为PHP不允许方法签名 超载覆盖.所以,我不得不问.我的观察是一个错误/缺陷还是实际上正确 预期的行为?
此外,如果默认参数参数可以,为什么非默认参数参数不正常?
使用ZF2,我编写了一个自定义表单元素并将其包含在一堆表单中.问题是,如果我指定我不想要表单元素,我会丢失元素上的默认验证器.
class MyForm extends Zend\Form\Form implements Zend\InputFilter\InputFilterProviderInterface
{
public function __construct()
{
parent::__construct("my-form");
$this
->add(array(
'type' => 'Me\Custom\EmailList',
'name' => 'emails',
'options' => array(
'label' => _t('Email List'),
),
));
}
public function getInputFilterSpecification()
{
return array(
'emails' => array(
'required' => false,
),
));
}
}
Run Code Online (Sandbox Code Playgroud)
"EmailList"元素是一个简单的文本字段,它接受以逗号分隔的电子邮件地址列表.
class EmailList extends \Zend\Form\Element\Email
{
protected $attributes = array(
'type' => 'email',
'multiple' => true,
);
public function getInputSpecification()
{
$this->getEmailValidator()
->setMessage('"%value%" is not a valid email address');
$validator = $this->getValidator();
if …Run Code Online (Sandbox Code Playgroud) 我有一个与Mercurial相关的工作流程问题(可能适用于其他DVCS).
使用典型的默认/稳定设置设置repo.
您的任务是构建一个新功能,并期望它需要一些时间(月+).在处理此功能时,您会遇到一个错误,您认为应该修复并尽快应用于生产.或者,您可能会注意到一些可以更好地记录的代码.
我的假设是您在默认情况下进行修复,然后切换到稳定并再次进行修复(手动或应用补丁).这是正确的还是应该立即切换到稳定,在那里进行更改然后将stable合并为默认值?
使用补丁似乎对我更有意义.您可以专门针对错误修复进行提交,并在方便时应用该修补程序.我的意思是如果虫子不是太讨厌,就没有必要紧迫和打破你的流量.对?
那么,你如何处理这种情况呢?
谢谢
CKEditor是一个很棒的编辑器,pastefromword插件非常好.我想将插件提供的过滤应用于所有粘贴的文本.例如,从单词粘贴时,将删除所有字体和大小.从电子邮件粘贴时不会发生这种情况.
也就是说,我提出了以下解决方案并将其发布在此处以获得一些反馈.我想知道我是否过于复杂,或者是否有更简单的方法.我只是从pastefromword/plugin.js中复制了代码.
通过我的自定义config.js
...
CKEDITOR.config.pasteFromWordCleanupFile = '/pastefromword.js';
...
CKEDITOR.on( 'instanceReady', function( ev ) {
/**
* Paste event to apply Paste From Word filtering on all text.
*
* The pastefromword plugin will only process text that has tell-tale signs
* it is from Word. Use this hook to treat all pasted text as if
* it is coming from Word.
*
* This method is a slightly modified version of code found in
* plugins/pastefromword/plugin.js
*/
ev.editor.on( 'paste', function( …Run Code Online (Sandbox Code Playgroud) 我知道如果POST请求超过post_max_size,$ _POST和$ _FILES超全局变为空.
我已经看到很多关于如何检测这种情况的讨论,但从来没有解释为什么超级球体是空的.对我来说,消除POST数据似乎很奇怪,迫使用户重新输入他们的答案.这可能是安全预防措施吗?
对其他语言(java,.net)感到好奇.他们的行为是否相似?
谢谢
试图将一个闭包传递给filter_var_array(),但似乎无法使它工作.
$clean = function( $html ) {
return HTML::sanitize( $html, array('p','ul','ol','li'), array('class','style') );
};
$args = array( 'filter' => FILTER_CALLBACK, 'options' => $clean );
$fields = filter_var_array(
array( $_POST['field1'], $_POST['field2'], $_POST['field3'] ),
array( 'field1' => $args, 'field2' => $args, 'field3' => $args )
);
Run Code Online (Sandbox Code Playgroud)
运行上面的操作后,$ fields是一个空数组.
注意,个别过滤工作正常:
$field1= filter_var( $_POST['field1'], FILTER_CALLBACK, array( 'options' => $clean ) );
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
php ×4
javascript ×3
.net ×1
backbone.js ×1
ckeditor ×1
coding-style ×1
dvcs ×1
file-upload ×1
filter ×1
java ×1
mercurial ×1
oop ×1
paste ×1
validation ×1
webpack ×1
workflow ×1