我想在Yii中使用重置密码功能.为此,我有4个字段,即email,currentPassword,newPassword,newPasswordRepeat.
我在我的模型中使用了以下规则
array('email, currentPassword, newPassword, newPasswordRepeat', 'required'),
array('newPasswordRepeat', 'compare', 'compareAttribute'=>'newPassword'),
array('currentPassword', 'equalPasswords'),
Run Code Online (Sandbox Code Playgroud)
equalPasswords我的用户定义规则在哪里检查currentPassword密码是否与我的原始密码匹配.
public function equalPasswords($currentPassword)
{
$oDbConnection = Yii::app()->db;
$oCommand = $oDbConnection->createCommand('SELECT * FROM Superadmin_details where email=:email');
$oCommand->bindParam(':email', Yii::app()->session['email'],PDO::PARAM_STR);
$user=$oCDbDataReader = $oCommand->queryRow();
if ($user['password'] != $currentPassword)
$this->addError($currentPassword, 'Old password is incorrect.');
}
Run Code Online (Sandbox Code Playgroud)
此规则在服务器端出错,即当我单击"提交"按钮时,页面将重新加载,然后显示错误.
我想像其他错误一样在客户端显示错误.
我已经在表单中启用了客户端验证.
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'contact-form',
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
),
)); ?>
Run Code Online (Sandbox Code Playgroud) 我正在使用它UIActivityViewController在一些iOS应用程序中显示共享表.iOS 7引入了一种新类型UIActivity:UIActivityTypeAirDrop.
这被声明为UIActivity.h文件中的extern字符串...基本上我试图从我的共享表中排除空投类型,这一切都运行正常,但是这个代码集需要向后兼容以前版本的iOS.
我知道要检查一个我可以使用的方法,respondsToSelector:但有没有类似的方法我可以用来检查字符串是否被声明,或者我应该使用开启系统版本?(这绝不是一个正常的好方法)
ios uiactivityviewcontroller ios7 airdrop uiactivitytypeairdrop
直到最近我一直都不需要一起使用strdup(stringp),strsep(&stringp_copy, token)我认为这会导致内存泄漏.
(strdup()以前总是free很好.)
我修复了泄漏,我想我明白了,但我无法弄明白为什么需要.
原始代码(摘要):
const char *message = "From: username\nMessage: basic message\n";
char *message_copy, *line, *field_name;
int colon_position;
message_copy = strdup(message);
while(line = strsep(&message_copy, "\n")) {
printf(line);
char *colon = strchr(line, ':');
if (colon != NULL) {
colon_position = colon - line;
strncpy(field_name, line, colon_position);
printf("%s\n", field_name);
}
}
free(message_copy);
Run Code Online (Sandbox Code Playgroud)
不泄漏的新代码:
const char *message = "From: username\nMessage: basic message\n";
char *message_copy, *freeable_message_copy, *line, *field_name;
int colon_position;
freeable_message_copy = message_copy = strdup(message); …Run Code Online (Sandbox Code Playgroud) 我的项目中有以下结构
\ myapp
\ app
__init__.py
views.py
run.py
Run Code Online (Sandbox Code Playgroud)
以下代码:
run.py
from app import create_app
if __name__ == '__main__':
app = create_app()
app.run(debug=True, host='0.0.0.0', port=5001)
Run Code Online (Sandbox Code Playgroud)
views.py
@app.route("/")
def index():
return "Hello World!"
Run Code Online (Sandbox Code Playgroud)
_ init _.py
from flask import Flask
def create_app():
app = Flask(__name__)
from app import views
return app
Run Code Online (Sandbox Code Playgroud)
我试图每次使用不同的文件factory design pattern来创建我的app对象config,并且子域调度程序能够根据subdomain用户请求创建和路由不同的对象.
我正在关注他们谈论的Flask文档,所有这些:
但我无法使它工作,似乎我的实际项目structure没有办法将app对象扔到我的views.py投掷和它NameError
NameError:未定义名称"app"
我想写一个允许的正则表达式
例如:
这个正则表达式的使用就像在javascript事件上一样
<input type="text" onKeyPress="validatenumber(event);" /><br>
Run Code Online (Sandbox Code Playgroud)
我的代码是
function validatenumber(evt) {
var theEvent = evt || window.event;
var key = theEvent.keyCode || theEvent.which;
key = String.fromCharCode( key );
var regex = /^[0-9\b]+$/; // allow only numbers [0-9]
if( !regex.test(key) ) {
theEvent.returnValue = false;
if(theEvent.preventDefault) theEvent.preventDefault();
}
}
Run Code Online (Sandbox Code Playgroud)
我想用新的正则表达式只改变这一行:
var regex = /^[0-9\b]+$/; // allow only numbers [0-9]
Run Code Online (Sandbox Code Playgroud) 我正在尝试构建大约600个项目,有些是.net 2.0,有些是3.5.我正在使用Windows 2003企业版32位与所有最新的Windows更新.
当maxcpucount为1时构建正常.如果我试图提高性能,则会出现引用错误.当我查看错误发生位置的项目引用时,它们应该按顺序构建.
下面我提供了一个导致构建被破坏的错误的示例.不要挂在项目名称或相关路径上,因为我已经改变了这一点,所以我不会对我的雇主遇到麻烦.
这就像当多个核心构建解决方案时,相对项目引用无法正确解析.
"C:\SVN\MyLibrary\MyLibrary.csproj" (default target) (15) ->
"C:\SVN\FileProcessor\FileProcessor.csproj" (default target) (17) ->
(ResolveProjectReferences target) ->
C:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets : warning : The referenced project '..\..\Manager\Manager.csproj' does not exist.
"C:\SVN\MyLibrary\MyLibrary.csproj" (default target) (15) ->
"C:\SVN\FileProcessor\FileProcessor.csproj" (default target) (17) ->
(CoreCompile target) ->
FileProcessor.cs(18,39): error CS0234: The type or namespace name 'Manager' does not exist in the namespace 'TheNamespace' (are you missing an assembly reference?)
Run Code Online (Sandbox Code Playgroud)
我没有在解决方案文件上使用msbuild.我正在使用通配符选择所有csproj文件,然后将它们提供给msbuild.对于开发,我们有多个解决方案,我们用于系统的不同组件.95%是项目引用,唯一的二进制引用是核心实用程序库
我们将svn:externals用于库的特定修订版,例如
xyzlib -r12345 https://asdf.asdf.local/xyzlib/trunk/
Run Code Online (Sandbox Code Playgroud)
当您在工作副本中对这样的已检出外部进行修改时,即使外部链接指向特定修订而不是HEAD,也可以提交.
在svn update提交后运行时,更改将在工作副本中消失,因为subversion会将所有内容还原为修订版12345.因此,您自己从未真正看到更改,但它们仍然在HEAD中,这很糟糕.
是否可以仅在外部未指向HEAD修订版时禁止提交?
我很好奇如何使网站移动设备友好..所以什么是最好的尺寸,我如何让网站弄清楚他们是否在移动设备上.还有什么我需要限制我的设计和编码,使页面更无故障和更快的加载...
在我们公司,我们正在开发一个由不同C/C++模块组成的产品.理想情况下,每个层和模块应由不同的团队分别开发并独立测试.目前,我们将每个模块分成它自己的分支:
这些模块是:
\hid \branches \tags \trunk \api \branches \tags \trunk \ui \branches \tags \trunk
另外,产品发布是通过组合模块构建的,并使用CI系统定期编译.
\productX
\branches
\5.0
\hid-4.0 (svn:externs \hid\branches\4.0)
\api-3.0 (svn:externs \api\branches\3.0)
\ui-5.0 (svn:externs \ui\branches\5.0)
\tags
\trunk
我们遇到的主要问题是'svn tag'与externs相关的行为.当前的外部引用了HEAD - 因为我们希望定期构建最新版本以确保所有模块协同工作.但是,一旦构建成功并且我们继续进行发布,如果有一种简单的方法可以自动标记所有内容 - 包括extern中使用的版本,那将是很好的.就目前而言,我们必须为模块创建标签,然后将externs更新为这些标签,然后标记产品,最后将其交换回主干.
有更清洁的方法吗?随意评论当前的结构.
我们在本地使用Subversion,我们正在开发一个使用Fluent NHibernate的分支的项目,它在Github上托管.
我想它设置,以便单个svn checkout将检索构建项目所需的一切,但保持从github获取HEAD更新的能力.
有什么方法可以从Git存储库中提取代码,好像它是一个svn:external依赖项?我可以将.git文件夹检查到我们的Subversion存储库中,并在需要时运行git fetch,然后svn提交结果吗?