我有一个登录表单,其中包含电子邮件和密码字段.
我选择了浏览器自动填充功能.
问题是:当浏览器自动填充登录表单时,这两个字段都是原始且未触及的,因此禁用了提交按钮.
如果我单击禁用按钮,它会启用并触发提交操作,这很好.但是默认的禁用方面非常糟糕,可能会让一些用户感到失望.
你有一些关于如何处理的想法吗?
我正在尝试为Jquery UI Datepicker创建自己的Angular 2指令.我在互联网上看到了一些不同的方法,但也没有人达到我想要的目标.所以这是我到目前为止的代码:
import {Directive, ElementRef, Input, forwardRef} from '@angular/core';
import {ControlValueAccessor, NG_VALUE_ACCESSOR} from "@angular/forms";
declare var $:any;
@Directive({
selector: '[date-picker]',
providers: [{
provide: NG_VALUE_ACCESSOR,useExisting:
forwardRef(() => DatePickerDirective),
multi: true
}]
})
export class DatePickerDirective implements ControlValueAccessor {
private value: string;
@Input('changeMonth') changeMonth:boolean = true;
@Input('changeYear') changeYear:boolean = true;
constructor(private el: ElementRef) {
}
ngAfterViewInit(){
$(this.el.nativeElement).datepicker({
changeMonth: this.changeMonth,
yearRange: "1:100",
changeYear: this.changeYear
}).on('change', e => this.onChange(e.target.value));
}
onChange: Function = () => {};
onTouched: Function = () => {}; …Run Code Online (Sandbox Code Playgroud) 我决定将LoginComponent,AuthService,LoggedInGuard放在一个名为AuthModule的模块中:
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { AuthComponent } from './auth.component';
import { LoginComponent } from './components/login/login.component';
import { AuthService } from './services/auth/auth.service';
import { StorageService } from './services/storage/storage.service';
import { RequestService } from './services/request/request.service';
import { LoggedInGuard } from './guards/logged-in.guard';
@NgModule({
imports: [
CommonModule
],
providers: [AuthService, LoggedInGuard],
declarations: [AuthComponent, LoginComponent],
exports: [AuthService, LoggedInGuard]
})
export class AuthModule { }
Run Code Online (Sandbox Code Playgroud)
我想在Application的其余部分中仅使用AuthService方法.和LoggedInGuard保护非公共路线.
所以我尝试在AppModule中导入它们:
import { AuthModule } from './core/auth/auth.module';
@NgModule({
declarations: [AppComponent, …Run Code Online (Sandbox Code Playgroud) Ruby版本:2.3.1
Sidekiq/Pro/Enterprise版本:5.0
Rails:5.0.2
我已经按照本教程进行操作,因此我可以使用sidekiq在我的rails api应用程序中发送电子邮件.该应用程序使用Puma在AWS ElasticBeanstalk上发布.
当用户注册时,他们应该收到一封电子邮件(通过设计).没有显示错误,没有生成sidekiq.log的日志.我不知道发生了什么,电子邮件根本没有发送.
初始化/ devise_async.rb
Devise::Async.setup do |config|
config.enabled = true
config.backend = :sidekiq
config.queue = :default
end
Run Code Online (Sandbox Code Playgroud)
初始化/ sidekiq.rb
rails_root = Rails.root || File.dirname(__FILE__) + '/../..'
rails_env = Rails.env || 'development'
redis_config = YAML.load_file(rails_root.to_s + '/config/redis.yml')
redis_config.merge! redis_config.fetch(Rails.env, {})
redis_config.symbolize_keys!
Sidekiq.configure_server do |config|
config.redis = { url: "redis://#{redis_config[:host]}:#{redis_config[:port]}/12" }
end
Sidekiq.configure_client do |config|
config.redis = { url: "redis://#{redis_config[:host]}:#{redis_config[:port]}/12" }
end
Run Code Online (Sandbox Code Playgroud)
配置/ redis.yml
development:
host: 'localhost'
port: '6379'
test:
host: 'localhost'
port: '6379'
production: …Run Code Online (Sandbox Code Playgroud) redis sidekiq devise-async amazon-elastic-beanstalk ruby-on-rails-5
我只创建一个Rails 5 API,我需要创建一个实时的Web通知.
这可以通过使用ActionCable吗?有没有人有行动电缆或任何其他解决方案的例子?
提前致谢.